equal
deleted
inserted
replaced
9 signature SYMBOL_FONT = |
9 signature SYMBOL_FONT = |
10 sig |
10 sig |
11 val char: string -> string option |
11 val char: string -> string option |
12 val name: string -> string option |
12 val name: string -> string option |
13 val read_charnames: string list -> string list |
13 val read_charnames: string list -> string list |
14 val write_charnames: string list -> string list (*normal backslashes*) |
14 val read_chnames: string -> string |
15 val write_charnames': string list -> string list (*escaped backslashes*) |
15 val write_charnames: string list -> string list (*normal backslashes*) |
|
16 val write_chnames: string -> string |
|
17 val write_charnames': string list -> string list (*escaped backslashes*) |
|
18 val write_chnames': string -> string |
16 end; |
19 end; |
17 |
20 |
18 |
21 |
19 structure SymbolFont : SYMBOL_FONT = |
22 structure SymbolFont : SYMBOL_FONT = |
20 struct |
23 struct |
76 | scan_symbol _ = raise LEXICAL_ERROR; |
79 | scan_symbol _ = raise LEXICAL_ERROR; |
77 in |
80 in |
78 fun read_charnames chs = |
81 fun read_charnames chs = |
79 if forall (not_equal "\\") chs then chs |
82 if forall (not_equal "\\") chs then chs |
80 else #1 (repeat (scan_symbol || scan_one (K true)) chs); |
83 else #1 (repeat (scan_symbol || scan_one (K true)) chs); |
|
84 |
|
85 val read_chnames = implode o read_charnames o explode; |
81 end; |
86 end; |
82 |
87 |
83 |
88 |
84 (* write_charnames *) |
89 (* write_charnames *) |
85 |
90 |
93 else map (write_char prfx) chs; |
98 else map (write_char prfx) chs; |
94 |
99 |
95 val write_charnames = write_chars ""; |
100 val write_charnames = write_chars ""; |
96 val write_charnames' = write_chars "\\"; |
101 val write_charnames' = write_chars "\\"; |
97 |
102 |
|
103 val write_chnames = implode o write_charnames o explode; |
|
104 val write_chnames' = implode o write_charnames' o explode; |
98 |
105 |
99 end; |
106 end; |