More Related Content
Similar to 静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム (20)
静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム
- 16. • TEX [Knuth & Plass 1981]
– Unicode Line Breaking Algorithm
–
– [Liang & Knuth 1983]
• OpenType
(1/2)
16
- 28. 28
{The quick brown fox … }
inline-text
inline-boxes block-boxes
< +p{
The quick
brown fox …
} >
block-text
- 29. 29
{The quick brown fox … }
Y
______]
______[
•
•
• ...
context
read-inline {The quick brown fox jumps … }
• read-inline : context → inline-text → inline-boxes
Ctx
- 30. • line-break : bool → bool → context → inline-boxes → block-boxes
30
line-break true true Ctx
– 2
–
– Knuth–Plass
Ctx
[Knuth & Plass 1981]
- 32. 32
let-inline ctx emph contents =
let ctx-emph =
ctx |> set-font Latin italic-font
in
read-inline ctx-emph contents
emph
- 35. 35
emph{quick brown} fox jumps …
let-inline ctx emph contents =
let ctx-emph =
ctx |> set-font Latin italic-font
in
read-inline ctx-emph contents
Ctx
read-inline {The emph{quick brown} fox jumps … }
……
Ctx
- 36. let-inline ctx emph contents =
let ctx-emph =
ctx |> set-font Latin italic-font
in
read-inline ctx-emph contents
36
emph{quick brown} fox jumps …
Ctx
read-inline {The emph{quick brown} fox jumps … }
……
Ctx
- 43. 43
[ ; ; ] inline-cmd·1 ·n· · ·
+p{
fbox{parbox(5cm)<
+p{ }
>}
}
[ ; ; ] block-cmd·1 ·n· · ·
• emph : [ inline-text ] inline-cmd
• +p : [ inline-text ] block-cmd
• parbox : [ length; block-text ] inline-cmd
·i
i
- 52. • VM [ matsud224]
•
– HTML LATEX
–
• Markdown
–
52