汉字激光照排小史
如果无法正常显示,请先停止浏览器的去广告插件。
1. 2024/08
748
50
https://github.com/chenshuo/typeset
chenshuo_AT_chenshuo.com
(cost)
(efficiency)
(quality)
typesetting
type ¬
set
/
Typesetting
1
a
face
(imprint)
“H”
typeface
7
®
1:
868
¯
zǐ
11
°
毕昇
1103
¬ https://en.wikipedia.org/wiki/Sort_(typesetting)
https://en.wikipedia.org/wiki/Movable_type
® https://zh.wikipedia.org/wiki/
¯ https://zh.wikipedia.org/wiki/{
° https://zh.wikipedia.org/wiki/
}
1
(type)
a
face
2. 15
(Johannes Gutenberg)
¬
100
®
2:
The quick brown fox jumps over the lazy
¯
(type case)
uppercase
lowercase
¬ https://en.wikipedia.org/wiki/Gutenberg_Bible
https://en.wikipedia.org/wiki/Printing_Revolution
® https://en.wikipedia.org/wiki/Biblical_manuscript
¯ https://en.wikipedia.org/wiki/Composing_stick
2
3
3. 3:
4
(uppercase)
9
¬
23mm
(0.918 inch)
10cm
5
21.2mm
500g
19
(Robert Mor-
rison)
750
(William Gamble) ®
19
3.7mm
(10.5pt)
Gamble
19
¯
Ottmar Mergenthaler
(slug
¬ https://en.wikipedia.org/wiki/Type_metal
https://www.icm.gov.mo/rc/viewer/pdfViewerParts/10049/2736
® https://www.cgan.net/book/books/print/g-history/gb_9/13_1.htm
¯ https://en.wikipedia.org/wiki/Linotype_machine
° https://en.wikipedia.org/wiki/Slug_(typesetting)
3
Linotype
°
)
13
1
4. 1970s
¬
Linotype
3
lines)
(newspaper
14
Good Morning!
4: Linotype slug
Monotype
(caster)
(slug) 1968
(paper tape)
The Art Of Computer Programming
Donald E. Knuth
(flong) ®
¯
°
±
¬ https://archive.org/details/FarewellEtaoinShrdlu
https://en.wikipedia.org/wiki/Monotype_system
® https://baike.baidu.com/item/
¯ https://en.wikipedia.org/wiki/Stereotype_(printing)
°
±
/363376
https://jnews.xhby.net/waparticles/e5dd22553b49449483d12fc1d9ba882c/lovybSnXYNoT3SKL/1
http://www.93wxjjh.com/cn/impinfo.aspx?mainID=120&cid=1051
4
5. ¬
(limestone)
(printing plate)
lithography/
(
/hydrophobe)
(hydrophile)
(offset printing) ®
(offset)
film
PS
(presensitized
plate)
(computer-to-plate)
phototypesetting ¯
5:
陈堃銶
°
(CRT)
¬
(stencil)
https://en.wikipedia.org/wiki/Letterpress_printing
https://www.metmuseum.org/about-the-met/collection-areas/drawings-and-prints/materials-and-techniques/printmaking/lithograph
® https://en.wikipedia.org/wiki/Offset_printing
¯ https://en.wikipedia.org/wiki/Phototypesetting
° https://haagens.com/oldtype.tpl.html
5
6. 1. word
2. paragraph
3.
line breaking
4.
hyphenation
pagination
H, e, l, l, o
Hello
for
for (char ch : word) { output(xpos, ch); xpos += width[ch]; }
ligature ¬
/
f
kerning
f, i, j,
l, t
glyph
find, flow, difficiult, shuffle
find
find ffi
shelfful
ffi
ff
shelfful
kerning
WAVE,
Tom
Tom
o
Tom
T
kerning
ligature
kerning
6:
® ¯
fi
(characters)
shaping engine
long S
(glyphs)
i
text
°
HarfBuzz
¬ https://fonts.google.com/knowledge/glossary/ligature
https://fonts.google.com/knowledge/glossary/kerning_kerning_pairs
® https://learn.microsoft.com/en-us/typography/opentype/spec/gsub
¯ https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6lcar.html
° https://github.com/harfbuzz/harfbuzz
6
.../kern
kern
7. 2
¬
French
®
spacing
(.)
Mr. Chen
Mr.
mister
Mr. Chen
period
3
full stop
¯
(paragraph)
(justification)
(line breaking)
°
Charles III
A
Appendix A
A
A/B/C/D
±
(hyphenation)
¬ https://en.wikipedia.org/wiki/Sentence_spacing
https://en.wikipedia.org/wiki/History_of_sentence_spacing
® https://en.wikipedia.org/wiki/Sentence_spacing_in_language_and_style_guides
¯ https://en.wikipedia.org/wiki/Line_wrap_and_word_wrap
° https://www.thetype.com/2018/05/14501/
Eric Q. Liu
± https://www.thetype.com/2018/01/14017/
Eric Q. Liu
7
8. widow
(greedy algorithm)
(runt) ¬
(indent)
Donald Knuth
Michael Plass
1981
70
line breaking
60
Breaking Paragraphs into Lines
Knuth-Plass
(dynamic programming)
TEX
Knuth-Plass
(combinatorial optimization)
(
demerits)
badness
(
50)
penalty
demerits
Knuth-Plass
®
•
the
river
•
TEX
algo-
rithm
(justification)
TEX
¬ https://en.wikipedia.org/wiki/Widows_and_orphans
http://www.eprg.org/G53DOC/pdfs/knuth-plass-breaking.pdf
® https://tug.org/TUGboat/tb34-1/tb106mitt.pdf
8
TEX
(tracking)
9. 4
line breaking
(pagination)
(vertical justification)
widow
orphan
runt
¬
orphan
widow
widow
orphan
orphan
Michael Plass
“Optimal Pagination Techniques for Automatic
Typesetting Systems” ®
(hyphenation)
(syllable)
syllabification
the-
rapists
father
favorite
fa-
fa-
present
(pre·sent
pres·ent)
Donald
Knuth
Com-put-er
Frank Liang 1983
Word Hy-phen-a-tion by
¯
libhyphen °
(typography)
±
¬ https://fonts.google.com/knowledge/glossary/widows_orphans
https://en.wikipedia.org/wiki/Widows_and_orphans
® https://tug.org/docs/plass/plass-thesis.pdf
¯ https://www.tug.org/docs/liang/
° https://github.com/hunspell/hyphen
± https://www.pragma-ade.com/pdftex/thesis.pdf
https://tug.org/interviews/liang.pdf
9
600
10. Stanford
1968
ming
¬
Donald Knuth
1
The Art of Computer Program-
2
1973
3
1
Monotype
Bell Labs
1973
Ken Thompson
Unix
Dennis Ritchie
C
Unix V4
Bell Labs
GSI
C/A/T
Joe F. Ossanna PDP-11
troff typesetter
t
troff
typesetter roff roff
(line printer)
troff
CAT
50 newspa-
per lines per minute
Linotype
102
(glyphs)
16
15
5pt
72pt
-p
troff
7: CAT
®
¯
stderr
1974
8
Unix
nications of the ACM
The UNIX Time-Sharing System
7
°
Unix
¬ https://www-cs-faculty.stanford.edu/~knuth/taocp.html
https://en.wikipedia.org/wiki/CAT_(phototypesetter)
® https://man.cat-v.org/unix_7th/1/troff
¯ https://www2.dmst.aueb.gr/dds/blog/20131211/index.html
° https://dsf.berkeley.edu/cs262/unix.pdf
10
Commu-
16-bit
PDP-11
11. 64KiB
Unix V5
¬
eqn(1)
Bell Labs
Brian W. Kernighan
gramming Styles
1
P. J. Plauger
8
Elements of Pro-
troff
Donald Knuth
8: Unix troff
1975
CAT
CRT
®
Unix V6
tbl(1)
¬
®
¯
¯
Brian W. Kernighan and Lorinda L. Cherry. “A system for typesetting mathematics.” CACM 1975/03.
Brian W. Kernighan
Unix: A History and a Memoir
5.3
UNIX
https://www.icst.pku.edu.cn/gywm/fzlc/index.htm
M. E. Lesk. “Tbl — A Program to Format Tables.” Bell Labs CSTR 49, 1976.
11
12. 1976
108 × 108
742DPI
742 ≈ 108
10.5
72
96 × 96
×
10 000 bits
800bits
7
11
Brian W. Kernighan
P. J. Plauger
Software Tools
1
8
“This book was set in Times Roman and Helvetica Regular by the
authors, using a Graphic Systems phototypesetter driven by a PDP-11/45 running under
the UNIX operating system.”
Monotype
3
1977
Lasercomp
Donald Knuth
Programming
2
The Art of Computer
2
(galley proofs)
TEXDR.AFT ¬
5
26
6
7
TEX.ONE
(Frank Liang
Michael Plass)
9
15%
sabbatical/
2
12
1
1978
(AMS)
Mathematical typography
TEX78
PDP-10
18-bit
Gibbs
TEX
16-bit
PDP-11
1MB
PDP-10
36-bit
5
2
Knuth
2
TEX78 ¯
700
https://www.saildart.org/TEXDR.AFT[1,DEK]1
https://www.saildart.org/TEX.ONE[1,DEK]1
¯
PDP-10
TEX
¬
®
3
SAIL
The Art of Computer Programming
11
Donald Knuth
®
9
https://www.ams.org/journals/bull/1979-01-02/S0273-0979-1979-14598-1/S0273-0979-1979-14598-1.pdf
Donald Knuth. The Errors of TEX. https://yurichev.com/mirrors/knuth1989.pdf
12
13. sabbatical year
“Tau Epsilon Chi, a system for
technical text.”
200
TEX
Bell System Technical Journal (BSTJ) 7/8
(document preparation)
Ossanna
¬
Unix
troff
1977
Brian Kernighan
The C Programming Language
1
Joe
Dennis Ritchie
“This book was set
(K&R)
in Times Roman and Courier 12 by the authors, using a Graphic Systems phototypesetter
driven by a PDP-11/70 running under the UNIX operating system.”
Bell Labs
1979
6
2024
Mergenthaler
25
Linotype
Linotron 202
350
newspaper lines per minute
CAT
7
Brian Kernighan
troff
ditroff
CAT
ditroff
Linotron 202
Bell Labs
9
9: Linotron 202
Donald Knuth
Typesetting
®
TEX
TEX and METAFONT : New Directions in
METAFONT
TEX78
TEX82
384DPI
Donald Knuth
SAIL
°
¯
Pascal
TEX
PDP-10
TEX78
¬ https://vtda.org/pubs/BSTJ/1978.07_-_Bell_System_Technical_Journal.pdf
https://www.cs.princeton.edu/~bwk/202/
® https://archive.org/details/texmetafontnewdi0000knut
¯ Donald Knuth, “TEX incunabula”, TUGboat, 1984. https://tug.org/TUGboat/tb05-1/tb09knut.pdf
°
SAIL
Stanford Artificial Intelligence Laboratory/Language
13
14. Bell Labs
Donald Knuth
7
I
8
10
65
¬
240×350mm
8
11
9
II
II
Typesetting Controller
10:
I
9
1980
TC83, TC
1983
11:
8
I
32
11
26
2
TEX
Donald Knuth
TEX
(TUG)
TUGboat
10
Ignacio Zabala
David Fuchs
Luis Trabb-Pardo
DVI
TEX82
¬ https://github.com/chenshuo/typeset/blob/master/wangxuan1979.pdf
https://www.icst.pku.edu.cn/gywm/fzlc/index.htm
® https://tug.org/TUGboat/Contents/contents1-1.html
14
®
Pascal
15. 2
1981
10
7
•
I
-
•
• 陈堃銶
¬
CL
•
CL
•
•
•
•
•
•
Donald Knuth
2
2
TEX78
1977
Brian W. Kernighan
The Art Of Computer Programming
4
PIC — A Language for Typesetting Graphics
pic(1)
troff
(pic)
(tbl)
pic files | tbl | eqn | troff -ms
12
1982
(eqn)
John Warnock
Xerox PARC ®
¯
Charles Geschke
Adobe
Palo Alto
Interpress
Adobe
PostScript
Xerox
1950s
(xerography)
Xerox 914
Haloid
Xerox machine
1960s
Xerox
(photocopier)
xerox
google
Donald Knuth
TEX82 TEX
Xerox Graphics Printer (XGP) °
(raster)
XGP
¬
CL
TEX
Xerox
XGP
192 DPI
CRT
Knuth
Computer Laser
Computer Modern
BD
https://dl.acm.org/doi/10.1145/872730.806459
® https://en.wikipedia.org/wiki/Xerox_PARC
¯ https://en.wikipedia.org/wiki/Interpress
° https://gunkies.org/wiki/Xerox_Graphics_Printer
Stanford
15
PARC
16. II
1983
TC83
Am2900
(bit-slicing micro-processor)
Ken Thompson
Dennis Ritchie
II
1984
Donald Knuth
Adobe
METAFONT 84
The TEXBook
PostScript
(level 1)
Type 1
Bézier
(hinting)
HP
LaserJet
LBP-CX
300DPI
2024
PCL
10 500
3500
LBP-CX
PC-20
/toner cartridge
¬
II
1985
III
DJS-153
DG Desktop 10/SP
Apple
LaserWriter
300DPI
LBP-CX
7000
Image Processor
PostScript
RIP
12MHz
Machintosh
Raster
68000 CPU
PostScript
(rasterization)
PageMaker 1.0
Leslie Lamport
L A TEX 2.09
L A T
EX
TEX
TEX
TEX
L A T
EX
Adobe
Leslie Lamport
L A TEX
2013
Paxos
III
1986
1986
Donald Knuth
¬
12
4
30
Computers & Typesetting
5
http://www.hparchive.com/seminar_notes/HP_LaserJet_The%20Early%20History_by_Jim_Hall_110512.pdf
https://www-cs-faculty.stanford.edu/~knuth/abcde.html
16
17. 5
1987
III
III
4
¬
IV
1988
IV
430
1989
®
HTS
¯
TEX 3.0
8-bit
Donald Knuth
TEX
5
1990
28
°
100
5
1991
Adobe
91
PostScript level 2
Apple
TrueType
PostScript Type 1
±
Type 1
TrueType
Adobe
Bézier
Type 1
²
Windows 3.1
1992
TrueType
Windows 3.2
TrueType
PostScript level 2
1993
93
94
2
2001
2023
65
2006
2
70
¬ https://www.pkuef.org/old/info/1175/5334.htm
http://www.rmlt.com.cn/2018/1228/536314.shtml
® https://m.thepaper.cn/baijiahao_13029361
¯ https://www.pkuef.org/old/info/1175/6281.htm 陈堃銶
° https://cn.govopendata.com/renminribao/1990/5/28/1/#870258
± https://en.wikipedia.org/wiki/PostScript_fonts
² https://mail.gnu.org/archive/html/freetype-devel/2000-01/msg00052.html
毕昇
2009
17
18. I∼IV
1981
¬
2
+
I 1979 DJS-130 II 1983 DJS-153 III 1985 DG Desktop 10/SP TC83
IV 1988 286 TC86
I
+
+
TC83 Am2900
II
III
40
II
8
IV
90%
IV
V
91
93
+
(laser imager)
340kB
5MB
16-bit
DJS-130
32 KiB
64 KiB
12:
I
I
1978
8
10
1980
1979
9
¬ https://www.icst.pku.edu.cn/kxyj/kycg/zllb/1222358.htm
https://wangxuan.pku.edu.cn/wencui?tab=jiguangzhaopai
18
15
1979
7
32
27
19. 11
1981
7
I
↕
13:
X
Y
29.2
25.4mm/742 ≈ 34.2µm 1
(742 DPI)
= 25.4
× 11 388
16 756
1650 RPM
Y
27.5
4 × 27.5 = 110
4
)
I
108 × 65 = 7020
65
/
8
(108
65
(11 388/110 ≈ 103.5
100
570mm × 380mm
)
2
8
4
III
10 −8
5.0688MHz
1024
495Hz
18
1
27.5
495/18 = 27.5
4
Y
(34.2 × 4 ≈ 137µm)
5.0688MHz
110
11
460.8kHz
4
460.8k/27.5 ≈ 16 756.4
16 756/742 × 25.4/π ≈ 183mm
18
495Hz
11
19
20. 4
1975
MB
7000
(run-length encoding)
LZ77/LZ78
1975
(bitmap fonts)
朩
J
A
B
I
C
H
G
D
E
F
15:
14:
14
A ∼ J
10
15
100
700kB
TrueType
20
7000
21. 9
9
128 × 128
2
64 × 64
3
1
I ∼
IV
V
(outline fonts)
PostScript
91
(vector fonts)
TrueType
Bézier
Linotron 202
9
93
108 × 108
96 × 96
96 × 96
4.2
16
4.2MB
16:
128 × 128
(512 × 512
)
3000
21
22. (special purpose)
I
74
16-bit
TTL
1960s
¬
340kB
(core)
32KiB
1960s
1500 RPM
12
480ms 340kB
3400
3000
340kB
I
32KiB
8
10MB
65
65 × 108 = 7020
8
7040
7020
8
2 × 7040B ≈ 14.1kB
(double buffering)
14
( 1000
27.5
72ms
× 2 ≈ 72.73)
72ms
65
7kB
2 × 7296B ≈ 14.6kB
1s
512
1KiB
32KiB
3.0KiB
1.
2.
3.
8
2
3
1
1
2
(prefetching)
(read-ahead)
I
¬
MB
https://en.wikipedia.org/wiki/Drum_memory
22
23. kB
kB
28
1979
9
II
¬
•
PC
Am2900
II
TC83
I
512KiB RAM
RAM
•
8
( 8192
742
8192
32
× 25.4 ≈ 280mm)
2 × 32 × 8192/8 =
4
64KiB
•
TC83
200
DRAM
•
371 DPI
III
TC83
DJS-153
Nova
IV
9
DG Desktop 10/SP
PC
286/386
1988
Am29116
TC86 1984
TC88 TC86 16-bit
WA
710
/
WI
40MB
91
IV
WA
WI
®
CG
¬
https://en.wikipedia.org/wiki/AMD_Am2900
https://wangxuan.pku.edu.cn/article?id=1023
40MB RAM
CN85100285A
®
SS
https://www.ccf.org.cn/Computing_history/Full_List/2020/First_class/2021-01-20/722005.shtml
23
512KB
2MB
24. •
•
I ∼
IV
https://github.com/chenshuo/typeset/issues
24