luoyi wrote:
could you tell me where can I find the document about the structure of the subfonts table ? I can't fullly understand your example code without know the exactly structure of the table.
thank you
Subfonts is just a way of having more fonts in one file; the subtables and the cidinfo table has the info that points to a cid vector (in your case an adobe gb one). What you do with these subtables is up to youself (or the macro package): use only one, merge them, merge a few etc This is a subfonts entry ["subfonts"]={ { ["ascent"]=800, ["cidinfo"]={ ["supplement"]=0, ["version"]=0, }, ["creationtime"]=1235924579, ["descent"]=200, ["design_range_bottom"]=0, ["design_range_top"]=0, ["design_size"]=0, ["encodingchanged"]=0, ["extrema_bound"]=0, ["fontname"]="AdobeSongStd-Light-Alphabetic", ["fontstyle_id"]=0, ["glyphcnt"]=700, ["glyphmax"]=700, ["glyphs"]={ [0]={}, {}, ["fontname"]="AdobeSongStd-Light-Alphabetic", ["fontname"]="AdobeSongStd-Light-Dingbats", ["fontname"]="AdobeSongStd-Light-Generic", ["fontname"]="AdobeSongStd-Light-HRoman", ["fontname"]="AdobeSongStd-Light-HRomanRot", ["fontname"]="AdobeSongStd-Light-Hanzi", etc. Shapes can be shared which makes the font more compact. Cid fonts are currently somewhat inefficient, mostly because the vectors have many empty entries ["glyphs"]={ [0]={}, {}, {}, {}, {}, so future releases of luatex miight use the ["glyphs"]={ [12345]={...}, {...}, {...}, {...}, [23456={...}, syntax In practice you can just overlay these subfonts and then use the info from the external cid vector from the manual: "The cidinfo will be used as the character set (the CID /Ordering and /Registry keys)." once the font table structure is 'frozen' we will add some more detailed info to the manual Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------