1. 关于图像的东西。AMS的ftp://ftp.ams.org/ams/author-info/documentation/creating-graphics.pdf
2. 关于Arabic的，生成的PDF中需要能够复制出来，tagged PDF，参考PDFlib中的示例
3. PDFlib公司出版的Die PostScript und PDF-Bibel需要看一下，内容不错
4. LuaTeX的历史：MKII-MkIV, The History of LuaTeX
5. tri-directional typesetting，NTS文档中提到的一个事情
6. ELECTRONIC PUBLISHING, VOL. 2(3), 3-26, triroff, an adaptation of the device-independent troff for formatting tri-directional text
   http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.27.4329&rep=rep1&type=pdf
7. Comments on the Future of TeX and METAFONT
   http://www.tug.org/TUGboat/tb11-4/tb30beebe-future.pdf
8. Alexander Berdnikov. Russian Typographical Traditions in Mathematical Literature
9. Ulrik Vieth. Math typesetting in TeX: The good, the bad, the ugly
10. 专利号：200610112738。一种文字排版的方法
    专利号：200710121797。一种图文的自动排版方法
    专利号：201010242739。电子文档排版方法及装置
    专利号：201010548068。排版方法和装置
    专利号：200810240307。一种排版文件的处理方法及装置
    专利号：200910090195。一种文书文件的排版方法及装置
    专利号：200810239732。绘制符号花边的方法和装置
11. United States Patent: Optimal Line Break Determination.
12. Remco R. Bouckaert. A Probabilistic Line Breaking Algorithm.
    www.cs.waikato.ac.nz/~remco/line.pdf
13. liblinebreak, vimgadgets.sourceforge.net/liblinebreak/
14. 韩世勇，Microtypographic extensions to the TeX typesetting system
    www.pragma-ade.com/pdftex/thesis.pdf
15. 韩世勇，Margin Kerning and Font Expansion with pdfTeX
16. 韩世勇，A closer look at TrueType fonts and pdfTeX
17. Computer-Aided Design. Vol. 27, No. 3, pp193-207, 1996. Oriental Character Font Design by a Structured Composition of Stroke Elements.
18. Tung Yun Mei. LCCD, A Language for Chinese Character Design.
19. John Hobby, Gu Guoan. A Chinese METAFONT.
20. ELECTRONIC PUBLISHING, VOL. 6(2), 67-91 (JUNE 1993). Structure extraction and automatic hinting of Chinese outline characters
21. John Plaice on Omega and Beyond (an interview)
22. Omega and OpenType Fonts
23. Adobe Font Metrics File Format Specification
24. Multiple Master math extension fonts
25. Breaking Paragraphs into Lines
26. The Oxford Guide to Style
27. Type Rules
28. Unicode Explained
29. Unix Text Processing
30. Words into Type
31. Practical Printing
32. PostScript Language Reference
33. Literate Programming
34. Adobe CJKV Character Collections and CMaps for CID-Keyed Fonts
35. Building CMap Files for CID-Keyed Fonts
36. CID-Keyed Font Technology Overview
37. SING Glyphlet Production: Tips, Tricks & Techniques
38. OpenType-CID/CFF CJK Fonts: ‘name’ Table Tutorial
39. Designing Multiple Master Typefaces
40. Font Naming Issues
41. CID-Keyed sfnt Font File Format for the Macintosh
42. CJKV Information Processing
43. Computer Systems A Programmer's Perspective, 2E (CSAPP2e)
44. LGPL Hyphenation Library
    http://www.linux-magazine.com/Online/News/LGPL-Hyphenation-Library
    http://swolter.sdf1.org/software/libhyphenate.html
45. libhyphenation.a in Android.
46. Libhnj, a library for high quality hyphenation and justification
47. TeXHyphenator-J
48. Using TeX hyphenation patterns in OpenOffice.org
    http://wiki.openoffice.org/wiki/Documentation/SL/Using_TeX_hyphenation_patterns_in_OpenOffice.org
49. Knuth linebreaking elements for Formatting Objects
    http://www.leverkruid.eu/GKPLinebreaking/elements.html
50. Unicode line breaking rules: explanations and criticism
    http://www.cs.tut.fi/~jkorpela/unicode/linebr.html
51. GLOBAL MULTIPLE OBJECTIVE LINE BREAKING, ALEX HOLKNER
    http://bowman.infotech.monash.edu.au/~pmoulder/line-breaking/holkner-multiobjective-linebreaking-paper.pdf
52. dvipdfmx 文件解说：
    agl.c | Adobe Glyph List
    bmpimage.c | BMP文件支持，写入PDF的object，校验函数，colorspace
    cff.c | CFF格式字体处理。
    cff_dict.c | CFF字体词典。有启发性的地方：UnderlinePosition，UnderlineThickness
    cff_stdstr.h | Glyph的名字。
    cff_types.h | 定义了读取CFF字体需要用到的类型定义。
    cid.c | 对于CIDType0和CIDType2的字体处理。六种CID类型。
          | 注意各种PDF版本支持的ROS。
          | Render Mode是独立于字体的。
    cid_basefont.h | 这是所谓的基本CID字体系列，但是不是真正意义上的，是基于Adobe阅读器的基本CID字体。
                   | 注意：各个版本的Adobe Reader使用CID字体名并不是一样的。
                   | 非嵌入式的CID字体的作用是减少PDF体积，一般在打印机中存在。
                   | 注意/Panose的生成。
    cidtype0.c | 这个呢，主要是加入水平和垂直方向的Metrics。142行有亮点存在。
               | 注意写入ToUnicode的部分。
               | get_font_attr这个函数中也进行了一些参数的设定，尤其是StemV。
    cidtype2.c | 这个是写入TrueType的。编码比较多了。FreeType是可以进行分析的，但是子集化必须自己进行处理。
               | 单独写成库的话，一定要把子集化字体做出来，这个有利于制作字体。
    cmap.c | 这个是读取CMap的库，CMap对于精确处理编码是很有帮助的。
    cmap_read.c | 这个是一个简单的parser。
    cmap_write.c | 这是一个写入的东西，写入到PDF才能够复制出有编码的文本出来。
    cs_type2.c | 这个有关于PostScript了。
    dpxconf.c | 这个是关于尺寸的，有个叫做libpaper的库。其实没有必要用libpaper。
    dpxcrypt.c | 这个是关于加密算法的，有一个简单的MD5算法。
    dpxfile.c | 利用Kpathsea查找各种文件。
    dpxutil.c | 这里是一堆辅助函数。
    dvi.c | 这个是DVI转换成PDF的主力了。
          | 实际上，从不同的驱动来看，字体的技术已经分层了：1. 实体，2.虚拟，3，次字体。
          | 虚拟字体有助于解决多语种的问题，一个所谓unifont机制。
    dvicodes.h | 已经定义了的opcode。
    dvipdfmx.c | 主程序。
    epdf.c | 各种裁剪框。但是请注意，这是将PDF作为插图插入的情况。
    error.c | 各种报错程序。
    fontmap.c | 字体映射文件，映射是由离到合的过程。支持pdfTeX那种映射的情况。
              | pdf_load_native_font，这个函数里面有问题。
    jpegimage.c | 这个是关于JPEG文件处理的，需要查看一定的材料。
    mem.c | 关于内存管理的。
    mpost.c | 注意57行开始的注释。这是处理PostScript代码的。
    numbers.c | 操作数。
    pdfcolor.c | 关于PDF中的各种色彩。
    pdfdev.c | 关于各种PDF生成计算。注意对于未知的计算：图像模式，文本模式，字符串模式。
             | 在数据结构中就需要对TFM和实际字体进行适当的映射，而LuaTeX做的并不太好。
             | LuaTeX对于东方语言的支持在底层上面就是缺乏的，所以当然不会出现什么好结果。
    pdfdoc.c | 这里就是处理一些special代码的地方了。
    pdfdraw.c | 这个就是全局处理绘图的地方了。
    pdfencoding.c | Type1和Type3字体进行重新编码的东西。
    pdfencrypt.c | 对object进行加密。
    pdffont.c | 一个关于PDF中各种字体的一个处理。注意一下数据结构。
              | 所谓的字体缓存，是子集化的相关的东西。
    pdfnames.c | 这个是关于object生成的。
    pdfobj.c | 这个是关于PDF中的各种object的，其中要注意一下字符串。
    pdfparse.c | 解析PDF插图的。
    pkfont.c | 关于PK字体处理的，这个需要仔细看一下那本压缩手册。
             | 这个文件里面是通过搜索库来进行文件的搜索的。
    pngimage.c | 这个是处理PNG文件的。我在考虑是否加入一个新库进去。
    sfnt.c | 对于各种字体处理的一个文件。这个文件也被LuaTeX项目吸收进去了。
           | 我觉得似乎是没有引入FontForge的必要。
    spc_color.c | 关于color支持的special。
    spc_dvips.c | 关于dvips支持的special。
    spc_html.c | 关于超链接的一些special。
    spc_misc.c | 一些用得到的special。
    spc_pdfm.c | 一些关于dvipdfmx的special。
    spc_tpic.c | 关于Pic for TeX的special。
    spc_util.c | 关于special的使用的。
    special.c | 关于special的使用。
    subfont.c | 处理subfont。
    tfm.c | 关于各种TFM的。
    vf.c | 关于vf处理的。
53. dvidvi程序。
    dvidvi.c 这个是用来处理dvi文件的。Tomas Rokicki写的程序。
54. ptexenc
    这个库是pTeX系列所使用的一个编码转换库。
    支持的编码：jis，euc，sjis，utf8。
% + ptexenc.h
%extern PTENCDLL boolean is_internalGBK(void)
%extern PTENCDLL boolean is_internalBIG5(void)
%#define isinternalGBK is_internalGBK
%#define isinternalBIG5 is_internalBIG5
% + kanjicnv.h
%extern boolean isGBKkanji1(int c)
%extern boolean isGBKkanji2(int c)
%
%extern boolean isBIG5kanji1(int c)
%extern boolean isBIG5kanji2(int c)
% + kanjicnv.c
%boolean isGBKkanji1(int c)
%{
%    c &= 0xff;
%    return (0x81 <= c && c <= 0xFE);
%}
%
%boolean isGBKkanji2(int c)
%{
%    c &= 0xff;
%    return (0x40 <= c && c <= 0xFE && c != 0x7F);
%}
%
%boolean isBIG5kanji1(int c)
%{
%    c &= 0xff;
%    return (0x80 <= c && c <= 0xFE);
%}
%
%boolean isBIG5kanji2(int c)
%{
%    c &= 0xff;
%    return ((0x40 <= c && c <= 0x7e) || (0xA1 <= c && c <= 0xFE));
%}
55. 进化了的CJK语言引擎。
56. ttdump程序。
    这是一个字体转储的工具。时间比较久远了。
57. Springer - Handbook of Data Compression Fifth Edition (2010)
    5.8 PK Font Compression
    定义1：font，字体，一组具有同种风格样式和大小的字符或符号
    定义2：typeface，字型，一组具有不同大小，但风格一样的字体
    定义3：typeface family，字型组，一组字型
    定义4：printer's point，印刷点制
    定义5：style of a font，字体所显示出来的效果
    定义6：digital font，数字型字体，保存在I/O设备上的一套符号或者字符
    定义7：glyph，数字型字体中某一符号或者字符所显示出来的形状
    定义8：metric，bookkeeping infomation，最基本的：高度，深度，宽度。
    定义9：outline font
    定义10：bitmap font
    定义11：computer modern，75种字体
    定义12：generic font(GF)
    定义13：PK(PacKed) font
58. makeindexk程序
    作者：Pehong Chen，陈丕宏
    并行qsort。
59. 位图字体
    FONT格式，Macintosh，1984
    NFNT格式
    CPI格式
    FNT格式
    FON格式
    PSF格式
    BDF格式
    HBF格式
60. TFM文件的结构。
    工具：tftopl，pltotf，作者：Leonidas Guibas
    语法：(KEYWORD VALUE)
    关键字：大写，旧时代风格
    中缀：R (real), O (octal), H (hexadecimal), D (decimal), C (character)
    全局声明：1. CHECKSUM，4-byte，校验
              2. DESIGNSIZE，0-2048，American printer's points
              3. DESIGNUNITS，正值
              4. CODINGSCHEME，废弃
              5. FAMILY，废弃
              6. FACE，废弃
    字体参数：1. SLANT
              2. SPACE
              3. STRETCH
              4. SHRINK
              5. XHEIGHT
              6. QUAD = em
              7. EXTRASPACE
              8. NUM1/DEFAULTRULETHICKNESS
              9. NUM2/BIGOPSPACING1
              10. NUM3/BIGOPSACING2
              11. DENOM1/BIGOPSPACING3
              12. DENOM2/BIGOPSPACING4
              13. SUP1/BIGOPSPACING45
              14. SUP2
              15. SUP3
              16. SUB1
              17. SUB2
              18. SUPDROP
              19. SUBDROP
              20. DELIM1
              21. DELIM2
              22. AXISHEIGHT
    缩距/合字：1. (LIGTABLE operations) 整体操作
               2. (LABEL glyph) 初始化字符
               3. (STOP) 结束
               4. (KRN C . R -.15)
               5. (LIG C f H 13)
    合字类型：1. /LIG/
              2. /LIG
              3. LIG/
    字体数据：1. CHARWD
              2. CHARHT
              3. CHARDP
              4. CHARIC
              5. NEXTLARGER
61. JFM的扩展
%@x [68] l.1068 - pTeX: we print GLUEKERN instead of LIGTABLE
%  begin left; out('LIGTABLE'); out_ln;@/
%@y
%  begin left;
%  if file_format<>tfm_format then out('GLUEKERN') else out('LIGTABLE');
%  out_ln;@/
%@z
%@ list the |char_type| table in a similar way to the type table
62. VF的处理
63. PATGEN
    第一版：Frank~M. Liang
    第二版：Peter Breitenlohner
64. 兼容性的讨论
    No doubt there still is plenty of room for improvement, but the author
    is firmly committed to keeping \TeX82 ``frozen'' from now on; stability
    and reliability are to be its main virtues.
65. 修改的讨论（不触及核心）
    On the other hand, the \.{WEB} description can be extended without changing
    the core of \TeX82 itself, and the program has been designed so that such
    extensions are not extremely difficult to make.
66. 名字与兼容系
    If this program is changed, the resulting system should not be called
    `\TeX'; the official name `\TeX' by itself is reserved
    for software systems that are fully compatible with each other.
67. 魔鬼测试
    A special test suite called the ``\.{TRIP} test'' is available for
    helping to determine whether a particular implementation deserves to be
    known as `\TeX' [cf.~Stanford Computer Science report CS1027,
    November 1984].
68. TeX的全貌
    @p @t\4@>@<Compiler directives@>@/
    program TEX; {all file names are defined dynamically}
    label @<Labels in the outer block@>@/
    const @<Constants in the outer block@>@/
    mtype @<Types in the outer block@>@/
    var @<Global variables@>@/
    @#
    procedure initialize; {this procedure gets things started properly}
      var @<Local variables for initialization@>@/
      begin @<Initialize whatever \TeX\ might access@>@;
      end;@#
    @t\4@>@<Basic printing procedures@>@/
    @t\4@>@<Error handling procedures@>@/
69. 三个重要的标签
    @d start_of_TEX=1 {go here when \TeX's variables are initialized}
    @d end_of_TEX=9998 {go here to close files and terminate gracefully}
    @d final_end=9999 {this label marks the ending of the program}
70. 一大波常数正在接近
    @<Constants...@>=
    @!mem_max=30000; {greatest index in \TeX's internal |mem| array;
      must be strictly less than |max_halfword|;
      must be equal to |mem_top| in \.{INITEX}, otherwise |>=mem_top|}
    @!mem_min=0; {smallest index in \TeX's internal |mem| array;
      must be |min_halfword| or more;
      must be equal to |mem_bot| in \.{INITEX}, otherwise |<=mem_bot|}
    @!buf_size=500; {maximum number of characters simultaneously present in
      current lines of open files and in control sequences between
      \.{\\csname} and \.{\\endcsname}; must not exceed |max_halfword|}
    @!error_line=72; {width of context lines on terminal error messages}
    @!half_error_line=42; {width of first lines of contexts in terminal
      error messages; should be between 30 and |error_line-15|}
    @!max_print_line=79; {width of longest text lines output; should be at least 60}
    @!stack_size=200; {maximum number of simultaneous input sources}
    @!max_in_open=6; {maximum number of input files and error insertions that
      can be going on simultaneously}
    @!font_max=75; {maximum internal font number; must not exceed |max_quarterword|
      and must be at most |font_base+256|}
    @!font_mem_size=20000; {number of words of |font_info| for all fonts}
    @!param_size=60; {maximum number of simultaneous macro parameters}
    @!nest_size=40; {maximum number of semantic levels simultaneously active}
    @!max_strings=3000; {maximum number of strings; must not exceed |max_halfword|}
    @!string_vacancies=8000; {the minimum number of characters that should be
      available for the user's control sequences and font names,
      after \TeX's own error messages are stored}
    @!pool_size=32000; {maximum number of characters in strings, including all
      error messages and help texts, and the names of all fonts and
      control sequences; must exceed |string_vacancies| by the total
      length of \TeX's own strings, which is currently about 23000}
    @!save_size=600; {space for saving values outside of current group; must be
      at most |max_halfword|}
    @!trie_size=8000; {space for hyphenation patterns; should be larger for
      \.{INITEX} than it is in production versions of \TeX}
    @!trie_op_size=500; {space for ``opcodes'' in the hyphenation patterns}
    @!dvi_buf_size=800; {size of the output buffer; must be a multiple of 8}
    @!file_name_size=40; {file names shouldn't be longer than this}
    @!pool_name='TeXformats:TEX.POOL                     ';
      {string of length |file_name_size|; tells where the string pool appears}
    @.TeXformats@>
71. 字符集
    \TeX's internal code also defines the value of constants
    that begin with a reverse apostrophe; and it provides an index to the
    \.{\\catcode}, \.{\\mathcode}, \.{\\uccode}, \.{\\lccode}, and \.{\\delcode}
    tables.
72. 类型定义，这是PASCAL中的定义
    @ Characters of text that have been converted to \TeX's internal form
    are said to be of type |ASCII_code|, which is a subrange of the integers.
    
    @<Types...@>=
    @!ASCII_code=0..255; {eight-bit numbers}
73. PoorMan's Chinese
    However, other settings of |xchr| will make \TeX\ more friendly on
    computers that have an extended character set, so that users can type things
    like `\.^^Z' instead of `\.{\\ne}'. People with extended character sets can
    assign codes arbitrarily, giving an |xchr| equivalent to whatever
    characters the users of \TeX\ are allowed to have in their input files.
74. 初始化之一
    @<Set init...@>=
    for i:=0 to @'37 do xchr[i]:=' ';
    for i:=@'177 to @'377 do xchr[i]:=' ';
75. 又是类型定义
    @<Types...@>=
    @!eight_bits=0..255; {unsigned one-byte quantity}
    @!alpha_file=packed file of text_char; {files that contain textual data}
    @!byte_file=packed file of eight_bits; {files that contain binary data}
76. 类型
    @<Types...@>=
    @!pool_pointer = 0..pool_size; {for variables that point into |str_pool|}
    @!str_number = 0..max_strings; {for variables that point into |str_start|}
    @!packed_ASCII_code = 0..255; {elements of |str_pool| array}
77. 三标志的由来
    @ The first 128 strings will contain 95 standard ASCII characters, and the
    other 33 characters will be printed in three-symbol form like `\.{\^\^A}'
    unless a system-dependent change is made here. Installations that have
    an extended character set, where for example |xchr[@'32]=@t\.{\'^^Z\'}@>|,
    would like string @'32 to be the single character @'32 instead of the
    three characters @'136, @'136, @'132 (\.{\^\^Z}). On the other hand,
    even people with an extended character set will want to represent string
    @'15 by \.{\^\^M}, since @'15 is |carriage_return|; the idea is to
    produce visible strings instead of tabs or line-feeds or carriage-returns
    or bell-rings or characters that are treated anomalously in text files.
78. pool文件
    @ When the \.{WEB} system program called \.{TANGLE} processes the \.{TEX.WEB}
    description that you are now reading, it outputs the \PASCAL\ program
    \.{TEX.PAS} and also a string pool file called \.{TEX.POOL}. The \.{INITEX}
    @.WEB@>@.INITEX@>
    program reads the latter file, where each string appears as a two-digit decimal
    length followed by the string itself, and the information is recorded in
    \TeX's string memory.
    
    @<Glob...@>=
    @!init @!pool_file:alpha_file; {the string-pool file output by \.{TANGLE}}
    tini
79. TeX中的DIG是个神奇的数组
    @!dig : array[0..22] of 0..15; {digits in a number being output}
80. print_ln是打印EOL的。
81. print_char是用来输出字符的，ASCII
82. slow_print是为了打印出特殊字符的
83. print_nl是保证字符出现在新一行的
84. print_esc是为了打印转义符的
85. print_two是用来输出0到99之间的数字的
86. print_hex是用来输出十六进制数的
87. print_roman_int是个辅助函数
88. Arithmetic with scaled dimensions.
89. not a bug, it is a feature
    (Actually there are three places where \TeX\ uses |div| with a possibly negative
    numerator. These are harmless; see |div| in the index. Also if the user
    sets the \.{\\time} or the \.{\\year} to a negative value, some diagnostic
    information will involve negative-numerator division. The same remarks
    apply for |mod| as well as for |div|.)
90. CWEB注记
    @ /@* 用来表示一个section
    |int *pa| 用来表示行内的代码
    @d 等同于#define
    @f error normal 定义
    @c @p 等同
    @h 插入#define
    @^system dependencies@> 索引
91. sp
    @ Physical sizes that a \TeX\ user specifies for portions of documents are
    represented internally as scaled points. Thus, if we define an `sp' (scaled
    @^sp@>
    point) as a unit equal to $2^{-16}$ printer's points, every dimension
    inside of \TeX\ is an integer number of sp. There are exactly
    4,736,286.72 sp per inch.  Users are not allowed to specify dimensions
    larger than $2^{30}-1$ sp, which is a distance of about 18.892 feet (5.7583
    meters); two such quantities can be added without overflow on a 32-bit
    computer.
92. 数据结构入门
    @* \[8] Packed data.
    In order to make efficient use of storage space, \TeX\ bases its major data
    structures on a |memory_word|, which contains either a (signed) integer,
    possibly scaled, or a (signed) |glue_ratio|, or a small number of
    fields that are one half or one quarter of the size used for storing
    integers.
93. 比较重要的glue_ratio
    需要仔细看一下：Fixed-point glue setting — an example of WEB 
    @ When \TeX\ ``packages'' a list into a box, it needs to calculate the
    proportionality ratio by which the glue inside the box should stretch
    or shrink. This calculation does not affect \TeX's decision making,
    so the precise details of rounding, etc., in the glue calculation are not
    of critical importance for the consistency of results on different computers.
    
    We shall use the type |glue_ratio| for such proportionality ratios.
    A glue ratio should take the same amount of memory as an
    |integer| (usually 32 bits) if it is to blend smoothly with \TeX's
    other data structures. Thus |glue_ratio| should be equivalent to
    |short_real| in some implementations of \PASCAL. Alternatively,
    it is possible to deal with glue ratios using nothing but fixed-point
    arithmetic; see {\sl TUGboat \bf3},1 (March 1982), 10--27. (But the
    routines cited there must be modified to allow negative glue ratios.)
    @^system dependencies@>
94. 内存耗尽
    @ If memory is exhausted, it might mean that the user has forgotten
    a right brace. We will define some procedures later that try to help
    pinpoint the trouble.
95. 是否需要加入方向属性？
    @d is_char_node(#) == (#>=hi_mem_min)
      {does the argument point to a |char_node|?}
    @d font == type {the font code in a |char_node|}
    @d character == subtype {the character code in a |char_node|}
96. TeX82 Memory Structure
97. new_param_glue 参数化glue
    new_glue 匿名glue
    new_skip_param 以上二者合体
98. penalty控制断行分页
    @ A |penalty_node| specifies the penalty associated with line or page
    breaking, in its |penalty| field. This field is a fullword integer, but
    the full range of integer values is not used: Any penalty |>=10000| is
    treated as infinity, and no break will be allowed for such high values.
    Similarly, any penalty |<=-10000| is treated as negative infinity, and a
    break will be forced.
99. explicit kern
    明确的，直接的 3989
100. Uniscribe
     http://blogs.msdn.com/b/murrays/archive/2010/01/12/special-capabilities-of-a-math-font.aspx
     http://www.cnblogs.com/geniusvczh/archive/2012/11/06/2757868.html
     http://msdn.microsoft.com/en-us/library/windows/desktop/dd374096%28v=vs.85%29.aspx
     http://msdn.microsoft.com/zh-cn/goglobal/bb688099
     http://www.tfsattic.com/codearc/windows/UnisSample.html
     http://www.catch22.net/tuts/introduction-uniscribe
     http://maxradi.us/documents/uniscribe/
     http://www.microsoft.com/typography/developers/uniscribe/intro.htm
     http://blog.csdn.net/jianlizhao66/article/details/1480748
101. eexec Encryption，Type1字体的加密
102. `T1ascii' translates a PostScript Type 1 font from compact binary (PFB) to
      ASCII (PFA) format. The result is written to the standard output unless an
      OUTPUT file is given.
103. PASCAL的ord函数：ord('a')=97, chr(7)。加上x之后用户编码处理
     @d null_code 0
     @d carriage_return 015
     @d invalid_code 0177
104. 字符串处理，TeX中所有的字符串都存储在str_pool中
105. memory_word是分段的，是有固定数目的。
106. Lyle Ramshaw于1980年设计了TFM文件。
     JFM是将character code转换成了character type。
107. new_character 这就是要分析的。
108. 注意XeTeX中的：
     function new_native_word_node(f:internal_font_number; n:integer): pointer;
     function new_native_character(f:internal_font_number; c:UnicodeScalar): pointer;
     procedure font_feature_warning
     procedure font_mapping_warning
     procedure do_locale_linebreaks (s:integer; len:integer);
109. DVI导言区的内容
     i[1] DVI类型
     num[4] den[4] 整数
     mag[4] 缩放
110. http://wiki.apache.org/xmlgraphics-fop/GoogleSummerOfCode2006/FloatsImplementationProgress/ImplementingBeforeFloats
     http://tex.loria.fr/english/texbib.html
     http://dl.acm.org/citation.cfm?id=865455
270