diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2014-01-09 12:56:28 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2014-01-09 12:56:28 +0000 |
commit | 04d22733fda61f856746b38a37add87bd19aa035 (patch) | |
tree | f0e3bccdacb29d2d1aa11636aa68eb8778d3a00c /Build/source/texk/web2c/omegaware/opl2ofm.up | |
parent | 05e38350226b5da4ed5ad2132525f9b31ac0bc50 (diff) |
web2c/omegaware: Version 1.13 of Omega font utilities OFM2OPL & Co
git-svn-id: svn://tug.org/texlive/trunk@32616 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/omegaware/opl2ofm.up')
-rw-r--r-- | Build/source/texk/web2c/omegaware/opl2ofm.up | 70 |
1 files changed, 55 insertions, 15 deletions
diff --git a/Build/source/texk/web2c/omegaware/opl2ofm.up b/Build/source/texk/web2c/omegaware/opl2ofm.up index 7889604012c..cedd3badb91 100644 --- a/Build/source/texk/web2c/omegaware/opl2ofm.up +++ b/Build/source/texk/web2c/omegaware/opl2ofm.up @@ -1,37 +1,77 @@ +% opl2ofm.up. Public domain. +% +% Allow character codes up to "10FFFF. + @x [3] Increase constants. @d char_max=@"FFFF @y @d char_max=@"10FFFF @z -@x [3] Increase constants. -@d width_max=@"FFFF -@y -@d width_max=@"10FFFF -@z @x [51] -@d max_byte=@"FFFF - @p function get_byte:byte; {scans a one-byte property value} @y -@d max_byte=@"10FFFF +We have to distinguish between character codes that may exceed |@"FFFF| +and those that are store in one |byte| and thus must not exceed |@"FFFF|. -@p function get_byte:integer; {scans a one-byte property value} +@p function get_char_code:integer; {scans a character code value} +@z +@x [51] +cur_char:=" "; get_byte:=acc; +@y +cur_char:=" "; get_char_code:=acc; +end; +@# +function get_byte:integer; {scans a one-byte property value} +var acc:integer; {an accumulator} +begin acc:=get_char_code; +if acc>@"FFFF then begin + skip_error('This value shouldn''t exceed "FFFF'); +@.This value shouldn't...@> + acc:=0; cur_char:=" "; + end; +get_byte:=acc; @z @x [53] - skip_error('This value shouldn''t exceed 65535'); + begin skip_error('This value shouldn''t exceed 65535'); @y - skip_error('This value shouldn''t exceed 1114111'); + begin skip_error('This value shouldn''t exceed 1114111'); @z @x [54] - skip_error('This value shouldn''t exceed ''177777'); + begin skip_error('This value shouldn''t exceed ''177777'); @y - skip_error('This value shouldn''t exceed ''4177777'); + begin skip_error('This value shouldn''t exceed ''4177777'); @z @x [55] - skip_error('This value shouldn''t exceed "FFFF'); + begin skip_error('This value shouldn''t exceed "FFFF'); +@y + begin skip_error('This value shouldn''t exceed "10FFFF'); +@z + +@x [??] +else begin backup; c:=get_byte; +@y +else begin backup; c:=get_char_code; +@z + +@x [??] +@ @<Read an extended label step@>= +begin c:=get_byte; +@y +@ @<Read an extended label step@>= +begin c:=get_char_code; +@z + +@x [??] +c:=get_byte; {read the character code that is being specified} +@y +c:=get_char_code; {read the character code that is being specified} +@z + +@x [??] +c:=get_byte; {read the character code that is being specified} @y - skip_error('This value shouldn''t exceed "10FFFF'); +c:=get_char_code; {read the character code that is being specified} @z @x [159] |