View | Details | Raw Unified | Return to bug 104656
Collapse All | Expand All

(-)gs_cidfn.ps-ORIG (-1 / +12 lines)
Lines 304-310 Link Here
304
% The name %Type11BuildGlyph is known to the interpreter.
304
% The name %Type11BuildGlyph is known to the interpreter.
305
(%Type11BuildGlyph) cvn {	% <cidfont> <cid> %Type11BuildGlyph -
305
(%Type11BuildGlyph) cvn {	% <cidfont> <cid> %Type11BuildGlyph -
306
		% We must be prepared for out-of-range CIDs.
306
		% We must be prepared for out-of-range CIDs.
307
  2 copy { .type11mapcid } .internalstopped {
307
  2 copy { % dup 10 string cvs print (.) print flush
308
           .type11mapcid
309
	   %%% #if C_src_not_patched
310
           rootfont /WMode .knownget {
311
             1 eq {
312
               2 index /.mort.ncgsv .knownget {
313
                 1 index .knownget { exch pop } if
314
               } if
315
             } if
316
           } if
317
	   %%% #endif C_src_not_patched
318
         } .internalstopped {
308
    pop /CharStrings get /.notdef get
319
    pop /CharStrings get /.notdef get
309
  } if
320
  } if
310
			% Stack: cidfont cid glyphindex
321
			% Stack: cidfont cid glyphindex
(-)gs_ttf.ps-ORIG (+58 lines)
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

Return to bug 104656