• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

config/H23-Sep-2005-11,1028,869

src/H03-May-2022-3,2782,665

AUTHORSH A D19-Apr-200248 21

COPYINGH A D05-Sep-200117.5 KiB340280

ChangeLogH A D23-Sep-20053 KiB9652

INSTALLH A D23-Sep-20059.3 KiB237179

Makefile.amH A D29-May-200452 42

Makefile.inH A D23-Sep-200518.5 KiB612536

NEWSH A D23-Sep-2005476 2413

READMEH A D14-Oct-20014.1 KiB12381

aclocal.m4H A D23-Sep-2005244.8 KiB7,0446,311

config.h.inH A D23-Sep-20051.6 KiB6241

configureH A D23-Sep-2005686.4 KiB21,73917,499

configure.acH A D23-Sep-2005874 4030

libtoolH A D23-Sep-2005211.6 KiB7,4875,456

oto.specH A D23-Sep-2005922 3933

oto.spec.inH A D29-May-2004928 3933

README

1oTo - Open Type Organizer
2
3Open Type Organizer project provides programs to list, modify
4OpenType font files, specifically, their 'name' and 'cmap' tables.
5It can be used to translate 'name' and 'cmap' of OpenType font
6in locale encodings to Unicode encoding so the font file can be
7used in environment which does not understand locale encodings.
8The translated tables are added to the font while keeping the
9original tables intact.
10
11Have a True Type font which is not recognized by X Window system?
12Chances are, the font is listed/indexed in an encoding other than
13Unicode!  Open Type Organizer (oTo) will help to solve the problem.
14It will list font file organization and even add Unicode 'name' and
15'cmap' tables by translating the original ones.  Your favorite ttf
16font can really work for you now.
17
18Summary
19
20Have a TrueType font which is not recognized by X Window? Probably,
21the font uses an encoding other than Unicode! Open Type Organizer (oTo)
22can show you font info and add new 'name' and 'cmap' tables by
23translating the original ones.
24
25
261.  Why oTo?
27
28I have a collection of Chinese TrueType fonts which cannot be used
29by Xft.  It turns out that those font's names are in Chinese and/or
30character-to-glyphs mappings are not for Unicode.  So I wrote this
31program which adds UTF-8 names and Unicode cmap to the font file.
32Any other tables of the original font file is not changed.
33
34
352.  How to use oTo?
36
37Simple.  Give font file as its arguments.
38
39If only one font file is supplied like
40
41    oto afont.ttf
42
43The font's table directory and names are printed on screen.  Since
44OpenType font names can be in different kind of encodings, while
45output, the names are all converted to UTF-8 strings.  You can run
46it in a UTF-8 capable terminal (like 'xterm') to view the result.  Or
47redirect the output to a file and open it in a UTF-8 capable editor.
48
49If two font files are supplied like
50
51    oto afont.ttf anewfont.ttf
52
53Then afont.ttf is converted to anewfont.ttf with UTF-8 names and Unicode
54cmap added (if needed).  All the other tables are copied over without
55any change.
56
57
583.  Can oTo understand encodings other than Chinese?
59
60Right now, it can understand
61
62    ASCII
63    Unicode
64    PRC GB2312-1980
65    PRC GB12345-1990
66    BIG5
67
68More can be added later.
69
70
714.  Why it asked about which GB to use?
72
73Glyphs in OpenType font for Chinese can be either in simplified form or
74traditional form.  Unfortunately, there is no information within the
75font file to help us distinguishing the two.  The reliable way to find
76out which form the glyphs are in is to view the glyphs using programs
77like 'ftview'.  Sometimes the font names indicate the font is in simplified
78form or traditional form.  But for other font files, it may not that
79obvious.
80
81If encounterd a PRC GB cmap in the font, oTo will ask you which GB
82is that.  GB2312 corresponds to Simplified Chinese form and GB12345
83corresponds to Traditional Chinese form.  Based on your answer, oTo
84choose different table to add Unicode-to-glyphs cmap.
85
86
875.  My font's naming table is really screwed up.  How to rewrite it?
88
89There is a little bit editing involves here.
90
91First, dump the original naming table to a file:
92
93    oto afont.ttf >afont.spec
94
95Edit file afont.spec.  Cut off all other information listing in the
96file except the naming table part.  Edit the name strings but leave
97the lines with things like
98
99  (Microsoft,Unicode,Chinese - PRC) ...:
100
101alone.
102
103Then, create a new font with the edited naming spec:
104
105    oto afont.ttf anewfont.ttf --names afont.spec
106
107Note you can not add new names this way.  Only modify existing ones.
108
109
1106.  The naming strings don't look right.  What's wrong?
111
112The naming strings printed on screen are in UTF-8, you should use
113UTF-8 capable terminal or editor to view it.  But for some font,
114the naming strings are not encoded correctly.  For example, Founder
115fonts always embed GBK encoded Chinese characters in (Macintosh,Roman,English),
116especially the "Trademark notice" string.  There is no way to know
117that other than try to dump the naming strings in hex and spend a
118lot of time to figure it out:
119
120    oto -x afont.ttf
121
122To correct the naming table of the font, see 5 above.
123