diff options
author | Taco Hoekwater <taco@elvenkind.com> | 2010-04-04 13:55:46 +0000 |
---|---|---|
committer | Taco Hoekwater <taco@elvenkind.com> | 2010-04-04 13:55:46 +0000 |
commit | f372862c42d234710b6057449b46818e63181c90 (patch) | |
tree | a9ebec66dd31ac37aed442502ebd1b9fe76245ec /Build/source/texk/web2c/luatexdir/font/subfont.txt | |
parent | 2dad291ab056f30816e0aea61970f38033c2f6a5 (diff) |
import luatex 0.60.0 (with small local changes, see luatexdir/ChangeLog)
and do an autoreconf
git-svn-id: svn://tug.org/texlive/trunk@17680 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/font/subfont.txt')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/font/subfont.txt | 103 |
1 files changed, 36 insertions, 67 deletions
diff --git a/Build/source/texk/web2c/luatexdir/font/subfont.txt b/Build/source/texk/web2c/luatexdir/font/subfont.txt index 9fe053cbb9c..eaefae02813 100644 --- a/Build/source/texk/web2c/luatexdir/font/subfont.txt +++ b/Build/source/texk/web2c/luatexdir/font/subfont.txt @@ -1,74 +1,43 @@ -map entry: +map entry:cyberb @ Unicode @ <cyberbit.ttf PidEid = 3, 1 means cyberb < INFIX > = >look at Unicode.sfd = >find the mapping = >charcode = >PidEid = 3, 1 = >glyphs eg cyberb01 = >subfont 01 in Unicode.sfd = >charcodes Infix can be anything, thus the question:given a tfm name, how to find out + whether this is a subfont ? + It is safe to limit the infix to be composed from hexadecimal digits only ? + If so, one possibility is : (1) + while last + -char -of - tfmname is a hexdigit + do + remove the last char from tfmname + do + a lookup for the tfmname + if found an entry with subfont flag then break enddo(2) + Or, when a map entry with subfont flag is scanned, + let pdftex create all the relevant entries. + Which may be a safer and faster solution(but wastes more memory) -cyberb@Unicode@ <cyberbit.ttf PidEid=3,1 -means - -cyberb<INFIX> => look at Unicode.sfd => find the mapping => charcode - => PidEid=3,1 => glyphs - -eg cyberb01 => subfont 01 in Unicode.sfd => charcodes - -Infix can be anything, thus the question: given a tfm name, how to find out -whether this is a subfont? - -It is safe to limit the infix to be composed from hexadecimal digits only? - -If so, one possibility is: - -(1) -while last-char-of-tfmname is a hexdigit do - remove the last char from tfmname - do a lookup for the tfmname - if found an entry with subfont flag then - break -enddo - -(2) -Or, when a map entry with subfont flag is scanned, let pdftex create all -the relevant entries. Which may be a safer and faster solution (but wastes more -memory) - - -Let's do (2), as infix can be any word. + Let 's do (2), as infix can be any word. Implementation: -- let's have a map entry: - -cyberb@Unicode@ <cyberbit.ttf PidEid=3,1 - -- actions: - - read Unicode.sfd - - create corresponding sfd mapping like ("01", "Unicode") => long[256] - - added those subfont to an AVL tree - - create map entries for cyberb01--cyberbff, each has a pointer to the - corresponding sfd mapping entry - -- extended attributes for map entry: - - Pid - - Eid - - sfd_map - -- sfd_mapping: - - name: sfd name, eg "Unicode" - - infix, eg "01" - - mapping: long[256] - -- how to find out whether a sfd has been loaded: - - lookup for any entry with the given sfd name - -- functions: - - load_sfd - - lookup_subfont - - extend reading map entries - -- when writting ttf: - - if re-encoded --> process like in case of type1 fonts - - if PidEid is being used: - - read cmap tables: store (ttfname, pid, eid) - - search for used chars - - use sfd to find the charcodes - - look into cmap to +- let' s have a map entry : cyberb @ Unicode @ <cyberbit.ttf PidEid = 3, 1 - actions: + -read Unicode.sfd + - create corresponding sfd mapping like("01", "Unicode") = + >long[256] + - added those subfont to an AVL tree - + create map entries for cyberb01-- cyberbff, + each has a pointer to the corresponding sfd mapping entry - + extended attributes for map entry:-Pid - Eid - sfd_map - + sfd_mapping:-name:sfd name, eg "Unicode" - infix, + eg "01" - mapping:long[256] + +-how to find out whether a sfd has been loaded: + -lookup for any entry with the given sfd + name - functions:-load_sfd - + lookup_subfont - + extend reading map entries - + when writting ttf:-if re - encoded-- > + process like in case of type1 fonts - + if PidEid is being used:-read cmap + tables:store(ttfname, pid, eid) + -search for used chars - use sfd to find the charcodes - look into cmap to |