Two problems about CJK fonts with the beta (2010.05.22)
Hi, 1. The characters overlaps each other and can not be set size. The is a mini example. \definefont[song][name:simsun at 12pt] \starttext \song 测试 \stoptext The attachment is its output. 2. the cid fonts cause MkIV gives a waring as following: LuaTeX warning: lua-loaded font [44] (/usr/share/fonts/adobe/AdobeSongStd-Light) has no characters! -- Best regards, Li Yanrui (李延瑞)
Hi, Li Yanrui (李延瑞) wrote:
Hi,
1. The characters overlaps each other and can not be set size.
The is a mini example.
\definefont[song][name:simsun at 12pt] \starttext
\song 测试
\stoptext
The attachment is its output.
Verified. This actually looked fine here with the current 2010.05.21 11:10, but the beta 2010.05.22 12:06 MKIV is broken, producing the same output you have.
2. the cid fonts cause MkIV gives a waring as following:
LuaTeX warning: lua-loaded font [44] (/usr/share/fonts/adobe/AdobeSongStd-Light) has no characters!
Verified, same here, even with the official current. \definefont[song][name:adobesongstd-light at 12pt] \starttext \song 测试 \stoptext Best wishes, Taco
Taco Hoekwater wrote:
Hi,
Li Yanrui (李延瑞) wrote:
Hi,
1. The characters overlaps each other and can not be set size.
The is a mini example.
\definefont[song][name:simsun at 12pt] \starttext
\song 测试
\stoptext
The attachment is its output.
Verified.
This actually looked fine here with the current 2010.05.21 11:10, but the beta 2010.05.22 12:06 MKIV is broken, producing the same output you have.
Some debugging applied. This line in font-otf.lua: tfm.format = (metadata.order2 == 1 and 'truetype') or 'opentype' produces 'opentype' for simsun.ttf, and so all glyphs are printed at 2.048 times the normal size in the PDF output. This is because the key metadata.order2 doesn't exist _anywhere_ in the context source (except in this test). But neither did it exist in the official current. The context current did tfm.format later. Patch to revert back to the current's behaviour: --- font-otf.lua~ 2010-05-23 10:20:10.979586135 +0200 +++ font-otf.lua 2010-05-23 10:31:14.153587544 +0200 @@ -1653,6 +1652,13 @@ local otfdata = tfmtable.shared.otfdata tfmtable.name = specification.name tfmtable.sub = specification.sub + if otfdata.metadata.order2 == 0 then + tfmtable.format = 'opentype' + elseif otfdata.metadata.order2 == 1 then + tfmtable.format = 'truetype' + else + tfmtable.format = specification.format + end local s = specification.size local m = otfdata.metadata.math if m then
2. the cid fonts cause MkIV gives a waring as following:
LuaTeX warning: lua-loaded font [44] (/usr/share/fonts/adobe/AdobeSongStd-Light) has no characters!
Verified, same here, even with the official current.
Something is broken in the handling of the 'subfonts' key, but I haven't figured out what (yet?). Best wishes, Taco
Taco Hoekwater wrote:
2. the cid fonts cause MkIV gives a waring as following:
LuaTeX warning: lua-loaded font [44] (/usr/share/fonts/adobe/AdobeSongStd-Light) has no characters!
Verified, same here, even with the official current.
Something is broken in the handling of the 'subfonts' key, but I haven't figured out what (yet?).
The 'merge cid fonts' enhancer is broken. It starts by testing data.glyphs, but this is the field it is supposed to fill (!). The patch is a one-liner: --- font-otf.lua~ 2010-05-23 10:20:10.979586135 +0200 +++ font-otf.lua 2010-05-23 10:39:51.954338034 +0200 @@ -576,7 +576,7 @@ otf.enhancers["merge cid fonts"] = function(data,filename) -- we can also move the names to data.luatex.names which might -- save us some more memory (at the cost of harder tracing) - if data.subfonts and data.glyphs and next(data.glyphs) then + if data.subfonts then local cidinfo = data.cidinfo local verbose = fonts.verbose if cidinfo.registry then
On Sun, May 23, 2010 at 10:34:30AM +0200, Taco Hoekwater wrote:
Taco Hoekwater wrote:
Hi,
Li Yanrui (李延瑞) wrote:
Hi,
1. The characters overlaps each other and can not be set size.
The is a mini example.
\definefont[song][name:simsun at 12pt] \starttext
\song 测试
\stoptext
The attachment is its output.
Verified.
This actually looked fine here with the current 2010.05.21 11:10, but the beta 2010.05.22 12:06 MKIV is broken, producing the same output you have.
Some debugging applied. This line in font-otf.lua:
tfm.format = (metadata.order2 == 1 and 'truetype') or 'opentype'
produces 'opentype' for simsun.ttf, and so all glyphs are printed at 2.048 times the normal size in the PDF output.
This is because the key metadata.order2 doesn't exist _anywhere_ in the context source (except in this test). But neither did it exist in the official current. The context current did tfm.format later.
Patch to revert back to the current's behaviour:
--- font-otf.lua~ 2010-05-23 10:20:10.979586135 +0200 +++ font-otf.lua 2010-05-23 10:31:14.153587544 +0200 @@ -1653,6 +1652,13 @@ local otfdata = tfmtable.shared.otfdata tfmtable.name = specification.name tfmtable.sub = specification.sub + if otfdata.metadata.order2 == 0 then + tfmtable.format = 'opentype' + elseif otfdata.metadata.order2 == 1 then + tfmtable.format = 'truetype' + else + tfmtable.format = specification.format + end local s = specification.size local m = otfdata.metadata.math if m then
I'm wondering if the 'if' statment is even necessary, metadata.order2 doesn't exist neither in context nor in luatex generated tables, so the above statment always resolve to 'tfmtable.format = specification.format'. -- Khaled Hosny Arabic localiser and member of Arabeyes.org team Free font developer
participants (3)
-
Khaled Hosny
-
Li Yanrui (李延瑞)
-
Taco Hoekwater