|
Lines 521-526
Link Here
|
| 521 |
(OS/2) 1 index |
521 |
(OS/2) 1 index |
| 522 |
(post) 1 index |
522 |
(post) 1 index |
| 523 |
(vhea) 1 index |
523 |
(vhea) 1 index |
|
|
524 |
(mort) 1 index % for WMode glyph substitution |
| 524 |
% Big tables |
525 |
% Big tables |
| 525 |
(glyf) { .readbigtable } |
526 |
(glyf) { .readbigtable } |
| 526 |
(loca) 1 index |
527 |
(loca) 1 index |
|
Lines 1052-1057
Link Here
|
| 1052 |
mark |
1053 |
mark |
| 1053 |
.charkeys |
1054 |
.charkeys |
| 1054 |
.ttkeys |
1055 |
.ttkeys |
|
|
1056 |
%%% #if C_src_not_patched |
| 1057 |
.getwmode_glyph |
| 1058 |
%%% #endif C_src_not_patched |
| 1055 |
.definettfont |
1059 |
.definettfont |
| 1056 |
} bind def |
1060 |
} bind def |
| 1057 |
|
1061 |
|
|
Lines 1126-1135
Link Here
|
| 1126 |
/TT_cmap cmaptab cmaparray |
1130 |
/TT_cmap cmaptab cmaparray |
| 1127 |
/file_table_pos file_table_pos |
1131 |
/file_table_pos file_table_pos |
| 1128 |
/Decoding Decoding |
1132 |
/Decoding Decoding |
|
|
1133 |
%%% #if C_src_not_patched |
| 1134 |
.getwmode_glyph |
| 1135 |
%%% #endif C_src_not_patched |
| 1129 |
.dicttomark |
1136 |
.dicttomark |
| 1130 |
end end |
1137 |
end end |
| 1131 |
} bind def |
1138 |
} bind def |
| 1132 |
|
1139 |
|
|
|
1140 |
%%% #if C_src_not_patched |
| 1141 |
% - .getwmode_glyph {/.mort.ncgsv -dict-|} |
| 1142 |
% setup vertical mode glyph replace dictionary |
| 1143 |
/.getwmode_glyph { |
| 1144 |
tabdict /mort .knownget { |
| 1145 |
mark exch |
| 1146 |
dup 0 getu32 16#00010000 eq { |
| 1147 |
10 dict begin |
| 1148 |
TTFDEBUG { (mort: ) = flush } if |
| 1149 |
/.mort exch def |
| 1150 |
/CHp 8 def % `CHp' points at `chain header' |
| 1151 |
.mort 4 getu32 { % repeat for nChains |
| 1152 |
.mort CHp 10 add getu16 % nSub |
| 1153 |
.mort CHp 8 add getu16 % nSub nFeat |
| 1154 |
12 mul 12 add CHp add /Subp exch def % nSub |
| 1155 |
% `Subp' point at start of Sub Feature Table |
| 1156 |
{ /soff Subp def |
| 1157 |
.mort soff 2 add getu16 7 and 4 eq { |
| 1158 |
% non-contextual vertical glyph replacement |
| 1159 |
.mort soff 8 add getu16 6 eq { |
| 1160 |
.mort soff 10 add getu16 4 eq { |
| 1161 |
.mort soff 12 add getu16 % count |
| 1162 |
/soff soff 20 add def { |
| 1163 |
.mort soff getu16 |
| 1164 |
.mort soff 2 add getu16 |
| 1165 |
/soff soff 4 add def |
| 1166 |
} repeat |
| 1167 |
} { |
| 1168 |
QUIET not { (SubFeature Table: size != 4) = } if |
| 1169 |
} ifelse |
| 1170 |
} { |
| 1171 |
QUIET not { (SubFeature Table: format != 6) = } if |
| 1172 |
} ifelse |
| 1173 |
} if |
| 1174 |
/Subp .mort Subp getu16 Subp add def |
| 1175 |
} repeat |
| 1176 |
/CHp .mort CHp 4 add getu32 CHp add def |
| 1177 |
} repeat |
| 1178 |
end |
| 1179 |
} if |
| 1180 |
counttomark 0 gt { |
| 1181 |
.dicttomark /.mort.ncgsv exch |
| 1182 |
QUIET not { (\(Vertical Glyph Substitution enabled\) ) print } if |
| 1183 |
} { pop } ifelse |
| 1184 |
} if |
| 1185 |
} bind def |
| 1186 |
%%% #endif C_src_not_patched |
| 1187 |
|
| 1133 |
% ---------------- PDF TrueType font loading ---------------- % |
1188 |
% ---------------- PDF TrueType font loading ---------------- % |
| 1134 |
|
1189 |
|
| 1135 |
% Strictly speaking, this code should be loaded only if we have a PDF |
1190 |
% Strictly speaking, this code should be loaded only if we have a PDF |
|
Lines 1338-1342
Link Here
|
| 1338 |
mark |
1393 |
mark |
| 1339 |
.pdfcharkeys |
1394 |
.pdfcharkeys |
| 1340 |
.ttkeys |
1395 |
.ttkeys |
|
|
1396 |
%%% #if C_src_not_patched |
| 1397 |
.getwmode_glyph |
| 1398 |
%%% #endif C_src_not_patched |
| 1341 |
.definettfont |
1399 |
.definettfont |
| 1342 |
} bind def |
1400 |
} bind def |