Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

\ucs and \toucs #121

Merged
merged 18 commits into from
Jun 29, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 0 additions & 104 deletions source/texk/ptexenc/jisx0208.h
Original file line number Diff line number Diff line change
Expand Up @@ -1102,110 +1102,6 @@ static unsigned short UnicodeTbl[][94] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000},
{ /* category 85 */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000},
{ /* category 86 */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000},
{ /* category 87 */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000},
{ /* category 88 */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000},
{ /* category 89 */
0x7E8A, 0x891C, 0x9348, 0x9288, 0x84DC, 0x4FC9, 0x70BB, 0x6631,
0x68C8, 0x92F9, 0x66FB, 0x5F45, 0x4E28, 0x4EE1, 0x4EFC, 0x4F00,
0x4F03, 0x4F39, 0x4F56, 0x4F92, 0x4F8A, 0x4F9A, 0x4F94, 0x4FCD,
0x5040, 0x5022, 0x4FFF, 0x501E, 0x5046, 0x5070, 0x5042, 0x5094,
0x50F4, 0x50D8, 0x514A, 0x5164, 0x519D, 0x51BE, 0x51EC, 0x5215,
0x529C, 0x52A6, 0x52C0, 0x52DB, 0x5300, 0x5307, 0x5324, 0x5372,
0x5393, 0x53B2, 0x53DD, 0xFA0E, 0x549C, 0x548A, 0x54A9, 0x54FF,
0x5586, 0x5759, 0x5765, 0x57AC, 0x57C8, 0x57C7, 0xFA0F, 0xFA10,
0x589E, 0x58B2, 0x590B, 0x5953, 0x595B, 0x595D, 0x5963, 0x59A4,
0x59BA, 0x5B56, 0x5BC0, 0x752F, 0x5BD8, 0x5BEC, 0x5C1E, 0x5CA6,
0x5CBA, 0x5CF5, 0x5D27, 0x5D53, 0xFA11, 0x5D42, 0x5D6D, 0x5DB8,
0x5DB9, 0x5DD0, 0x5F21, 0x5F34, 0x5F67, 0x5FB7},
{ /* category 90 */
0x5FDE, 0x605D, 0x6085, 0x608A, 0x60DE, 0x60D5, 0x6120, 0x60F2,
0x6111, 0x6137, 0x6130, 0x6198, 0x6213, 0x62A6, 0x63F5, 0x6460,
0x649D, 0x64CE, 0x654E, 0x6600, 0x6615, 0x663B, 0x6609, 0x662E,
0x661E, 0x6624, 0x6665, 0x6657, 0x6659, 0xFA12, 0x6673, 0x6699,
0x66A0, 0x66B2, 0x66BF, 0x66FA, 0x670E, 0xF929, 0x6766, 0x67BB,
0x6852, 0x67C0, 0x6801, 0x6844, 0x68CF, 0xFA13, 0x6968, 0xFA14,
0x6998, 0x69E2, 0x6A30, 0x6A6B, 0x6A46, 0x6A73, 0x6A7E, 0x6AE2,
0x6AE4, 0x6BD6, 0x6C3F, 0x6C5C, 0x6C86, 0x6C6F, 0x6CDA, 0x6D04,
0x6D87, 0x6D6F, 0x6D96, 0x6DAC, 0x6DCF, 0x6DF8, 0x6DF2, 0x6DFC,
0x6E39, 0x6E5C, 0x6E27, 0x6E3C, 0x6EBF, 0x6F88, 0x6FB5, 0x6FF5,
0x7005, 0x7007, 0x7028, 0x7085, 0x70AB, 0x710F, 0x7104, 0x715C,
0x7146, 0x7147, 0xFA15, 0x71C1, 0x71FE, 0x72B1},
{ /* category 91 */
0x72BE, 0x7324, 0xFA16, 0x7377, 0x73BD, 0x73C9, 0x73D6, 0x73E3,
0x73D2, 0x7407, 0x73F5, 0x7426, 0x742A, 0x7429, 0x742E, 0x7462,
0x7489, 0x749F, 0x7501, 0x756F, 0x7682, 0x769C, 0x769E, 0x769B,
0x76A6, 0xFA17, 0x7746, 0x52AF, 0x7821, 0x784E, 0x7864, 0x787A,
0x7930, 0xFA18, 0xFA19, 0xFA1A, 0x7994, 0xFA1B, 0x799B, 0x7AD1,
0x7AE7, 0xFA1C, 0x7AEB, 0x7B9E, 0xFA1D, 0x7D48, 0x7D5C, 0x7DB7,
0x7DA0, 0x7DD6, 0x7E52, 0x7F47, 0x7FA1, 0xFA1E, 0x8301, 0x8362,
0x837F, 0x83C7, 0x83F6, 0x8448, 0x84B4, 0x8553, 0x8559, 0x856B,
0xFA1F, 0x85B0, 0xFA20, 0xFA21, 0x8807, 0x88F5, 0x8A12, 0x8A37,
0x8A79, 0x8AA7, 0x8ABE, 0x8ADF, 0xFA22, 0x8AF6, 0x8B53, 0x8B7F,
0x8CF0, 0x8CF4, 0x8D12, 0x8D76, 0xFA23, 0x8ECF, 0xFA24, 0xFA25,
0x9067, 0x90DE, 0xFA26, 0x9115, 0x9127, 0x91DA},
{ /* category 92 */
0x91D7, 0x91DE, 0x91ED, 0x91EE, 0x91E4, 0x91E5, 0x9206, 0x9210,
0x920A, 0x923A, 0x9240, 0x923C, 0x924E, 0x9259, 0x9251, 0x9239,
0x9267, 0x92A7, 0x9277, 0x9278, 0x92E7, 0x92D7, 0x92D9, 0x92D0,
0xFA27, 0x92D5, 0x92E0, 0x92D3, 0x9325, 0x9321, 0x92FB, 0xFA28,
0x931E, 0x92FF, 0x931D, 0x9302, 0x9370, 0x9357, 0x93A4, 0x93C6,
0x93DE, 0x93F8, 0x9431, 0x9445, 0x9448, 0x9592, 0xF9DC, 0xFA29,
0x969D, 0x96AF, 0x9733, 0x973B, 0x9743, 0x974D, 0x974F, 0x9751,
0x9755, 0x9857, 0x9865, 0xFA2A, 0xFA2B, 0x9927, 0xFA2C, 0x999E,
0x9A4E, 0x9AD9, 0x9ADC, 0x9B75, 0x9B72, 0x9B8F, 0x9BB1, 0x9BBB,
0x9C00, 0x9D70, 0x9D6B, 0xFA2D, 0x9E19, 0x9ED1, 0x0000, 0x0000,
0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177,
0x2178, 0x2179, 0xFFE2, 0xFFE4, 0xFF07, 0xFF02}
};

#endif /* JISX0208_H */
Expand Down
38 changes: 27 additions & 11 deletions source/texk/ptexenc/kanjicnv.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,18 @@
#include <ptexenc/c-auto.h>
#include <ptexenc/kanjicnv.h>

boolean isJISkanji1(int c)
{
c &= 0xff;
return (0x21 <= c && c <= 0x7e);
}

boolean isJISkanji2(int c)
{
c &= 0xff;
return (0x21 <= c && c <= 0x7e);
}

boolean isEUCkanji1(int c)
{
c &= 0xff;
Expand Down Expand Up @@ -32,11 +44,17 @@ boolean isSJISkanji2(int c)
/* EUC <=> JIS X 0208 code conversion */
int EUCtoJIS(int kcode)
{
if ((kcode<=0 || kcode>0x10000)) return 0;
if (!isEUCkanji1(HI(kcode))) return 0;
if (!isEUCkanji2(LO(kcode))) return 0;
return (kcode & 0x7f7f);
}

int JIStoEUC(int kcode)
{
if ((kcode<=0 || kcode>0x10000)) return 0;
if (!isJISkanji1(HI(kcode))) return 0;
if (!isJISkanji2(LO(kcode))) return 0;
return (kcode | 0x8080);
}

Expand All @@ -45,8 +63,9 @@ int SJIStoJIS(int kcode)
{
int byte1, byte2;

byte1 = HI(kcode);
byte2 = LO(kcode);
if ((kcode<=0 || kcode>0x10000)) return 0;
byte1 = HI(kcode); if (!isSJISkanji1(byte1)) return 0;
byte2 = LO(kcode); if (!isSJISkanji2(byte2)) return 0;
byte1 -= ( byte1>=0xa0 ) ? 0xc1 : 0x81;
kcode = ((byte1<<1) + 0x21)<<8;
if ( byte2 >= 0x9f ) {
Expand All @@ -63,20 +82,17 @@ int JIStoSJIS(int kcode)
int high, low;
int nh, nl;

high = HI(kcode);
low = LO(kcode);
if ((kcode<=0 || kcode>0x10000)) return 0;
high = HI(kcode); if (!isJISkanji1(high)) return 0;
low = LO(kcode); if (!isJISkanji2(low)) return 0;
nh = ((high-0x21)>>1) + 0x81;
if (nh > 0x9f) nh += 0x40;
if (high & 1) {
nl = low + 0x1f;
if (low > 0x5f) nl++;
} else
nl = low + 0x7e;
if (isSJISkanji1(nh) && isSJISkanji2(nl)) {
return HILO(nh, nl);
} else {
return 0x813f;
}
return HILO(nh, nl);
}

/* Shift JIS <=> EUC Kanji code conversion */
Expand All @@ -94,8 +110,8 @@ int EUCtoSJIS(int kcode)
int KUTENtoJIS(int kcode)
{
/* in case of undefined in kuten code table */
if (HI(kcode) == 0 || HI(kcode) > 95) return -1;
if (LO(kcode) == 0 || LO(kcode) > 95) return -1;
if (HI(kcode) == 0 || HI(kcode) > 94) return 0;
if (LO(kcode) == 0 || LO(kcode) > 94) return 0;

return kcode + 0x2020;
}
3 changes: 3 additions & 0 deletions source/texk/ptexenc/ptexenc/kanjicnv.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
#define LO(x) ( ((int)(x)) & 0xff)
#define HILO(x,y) ((LO(x) << 8) | LO(y))

extern boolean isJISkanji1(int c);
extern boolean isJISkanji2(int c);

extern boolean isEUCkanji1(int c);
extern boolean isEUCkanji2(int c);

Expand Down
6 changes: 6 additions & 0 deletions source/texk/web2c/eptexdir/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
2021-06-20 Hironori Kitagawa <[email protected]>

* eptex.defines: Add fromUCS() and toUCS().
* eptex.ech, eptex_version.h: e-pTeX version 210619
(adapted to pTeX p3.10.0).

2021-03-23 Karl Berry <[email protected]>

* TL'21.
Expand Down
1 change: 1 addition & 0 deletions source/texk/web2c/eptexdir/eptex.defines
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
@define function fromSJIS ();
@define function fromKUTEN ();
@define function UCStoUTF8 ();
@define function fromUCS ();
@define function toUCS ();

@define function notkanjicharseq ();
Expand Down
4 changes: 2 additions & 2 deletions source/texk/web2c/eptexdir/eptex.ech
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
@y
@d eTeX_version_string=='-2.6' {current \eTeX\ version}
@#
@d epTeX_version_string=='-210218'
@d epTeX_version_number==210218
@d epTeX_version_string=='-210619'
@d epTeX_version_number==210619
@z

@x e-pTeX: banner
Expand Down
2 changes: 1 addition & 1 deletion source/texk/web2c/eptexdir/eptex_version.h
Original file line number Diff line number Diff line change
@@ -1 +1 @@
#define EPTEX_VERSION "210218"
#define EPTEX_VERSION "210619"
6 changes: 6 additions & 0 deletions source/texk/web2c/ptexdir/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
2021-06-20 Hironori Kitagawa <[email protected]>

* ptex-base.ch: Added \ucs (from upTeX) and \toucs.
* ptex.defines: Add fromUCS() and toUCS().
* ptex_version.h: pTeX version p3.10.0.

2021-03-23 Karl Berry <[email protected]>

* TL'21.
Expand Down
55 changes: 41 additions & 14 deletions source/texk/web2c/ptexdir/ptex-base.ch
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
% (2021-02-18) HK pTeX p3.9.0. Add \ifjfont and \iftfont (in 2020-02-06, by HY),
% Bug fix for getting \kansujichar,
% based on TeX 3.141592653
% (2021-06-20) HK pTeX p3.10.0. Add \ucs and \toucs.

@x
% Here is TeX material that gets inserted after \input webmac
Expand All @@ -77,9 +78,9 @@
@d banner_k==TeX_banner_k
@y
@d pTeX_version=3
@d pTeX_minor_version=9
@d pTeX_minor_version=10
@d pTeX_revision==".0"
@d pTeX_version_string=='-p3.9.0' {current \pTeX\ version}
@d pTeX_version_string=='-p3.10.0' {current \pTeX\ version}
@#
@d pTeX_banner=='This is pTeX, Version 3.141592653',pTeX_version_string
@d pTeX_banner_k==pTeX_banner
Expand Down Expand Up @@ -328,6 +329,16 @@ else
wterm(')');
@z

@x pTeX: print_hex for "Invalid KANJI code" or "Invalid KANSUJI char" errors
@ Old versions of \TeX\ needed a procedure called |print_ASCII| whose function
@y
@ Hexadecimal printing.

@d print_hex_safe(#)==if #<0 then print_int(#) else print_hex(#)

@ Old versions of \TeX\ needed a procedure called |print_ASCII| whose function
@z

@x
@d max_halfword==@"FFFFFFF {largest allowable value in a |halfword|}
@y
Expand Down Expand Up @@ -2354,8 +2365,10 @@ help6("Dimensions can be in units of em, ex, zw, zh, in, pt, pc,")@/
@d sjis_code=7 {command code for \.{\\sjis}}
@d jis_code=8 {command code for \.{\\jis}}
@d kuten_code=9 {command code for \.{\\kuten}}
@d ptex_revision_code=10 {command code for \.{\\ptexrevision}}
@d ptex_convert_codes=11 {end of \pTeX's command codes}
@d ucs_code=10 {command code for \.{\\ucs}}
@d toucs_code=11 {command code for \.{\\toucs}}
@d ptex_revision_code=12 {command code for \.{\\ptexrevision}}
@d ptex_convert_codes=13 {end of \pTeX's command codes}
@d job_name_code=ptex_convert_codes {command code for \.{\\jobname}}
@z

Expand All @@ -2375,6 +2388,10 @@ primitive("jis",convert,jis_code);
@!@:jis_}{\.{\\jis} primitive@>
primitive("kuten",convert,kuten_code);
@!@:kuten_}{\.{\\kuten} primitive@>
primitive("ucs",convert,ucs_code);
@!@:ucs_}{\.{\\ucs} primitive@>
primitive("toucs",convert,toucs_code);
@!@:toucs_}{\.{\\toucs} primitive@>
primitive("ptexrevision",convert,ptex_revision_code);
@!@:ptexrevision_}{\.{\\ptexrevision} primitive@>
@z
Expand All @@ -2388,6 +2405,8 @@ primitive("ptexrevision",convert,ptex_revision_code);
sjis_code:print_esc("sjis");
jis_code:print_esc("jis");
kuten_code:print_esc("kuten");
ucs_code:print_esc("ucs");
toucs_code:print_esc("toucs");
ptex_revision_code:print_esc("ptexrevision");
@z

Expand All @@ -2412,7 +2431,7 @@ string_code, meaning_code: begin save_scanner_status:=scanner_status;
KANJI(cx):=0;
case c of
number_code,roman_numeral_code,
kansuji_code,euc_code,sjis_code,jis_code,kuten_code: scan_int;
kansuji_code,euc_code,sjis_code,jis_code,kuten_code,ucs_code,toucs_code: scan_int;
ptex_revision_code: do_nothing;
string_code, meaning_code: begin save_scanner_status:=scanner_status;
scanner_status:=normal; get_token;
Expand All @@ -2434,10 +2453,18 @@ string_code:if cur_cs<>0 then sprint_cs(cur_cs)
case c of
number_code: print_int(cur_val);
roman_numeral_code: print_roman_int(cur_val);
jis_code: print_int(fromJIS(cur_val));
euc_code: print_int(fromEUC(cur_val));
sjis_code: print_int(fromSJIS(cur_val));
kuten_code: print_int(fromKUTEN(cur_val));
jis_code: begin cur_val:=fromJIS(cur_val);
if cur_val=0 then print_int(-1) else print_int(cur_val); end;
euc_code: begin cur_val:=fromEUC(cur_val);
if cur_val=0 then print_int(-1) else print_int(cur_val); end;
sjis_code: begin cur_val:=fromSJIS(cur_val);
if cur_val=0 then print_int(-1) else print_int(cur_val); end;
kuten_code: begin cur_val:=fromKUTEN(cur_val);
if cur_val=0 then print_int(-1) else print_int(cur_val); end;
ucs_code: begin cur_val:=fromUCS(cur_val);
if cur_val=0 then print_int(-1) else print_int(cur_val); end;
toucs_code: begin cur_val:=toUCS(cur_val);
if cur_val=0 then print_int(-1) else print_int(cur_val); end;
ptex_revision_code: print(pTeX_revision);
kansuji_code: print_kansuji(cur_val);
string_code:if cur_cs<>0 then sprint_cs(cur_cs)
Expand Down Expand Up @@ -6452,7 +6479,7 @@ set_kansuji_char:
begin p:=cur_chr; scan_int; n:=cur_val; scan_optional_equals; scan_int;
if not is_char_kanji(cur_val) then
begin print_err("Invalid KANSUJI char (");
print_hex(cur_val); print_char(")");
print_hex_safe(cur_val); print_char(")");
@.Invalid KANSUJI char@>
help1("I'm skipping this control sequences.");@/
error; return;
Expand Down Expand Up @@ -6610,7 +6637,7 @@ if is_char_kanji(n) then
define(inhibit_xsp_code_base+j,cur_val,n);
end
else
begin print_err("Invalid KANJI code ("); print_hex(n); print_char(")");
begin print_err("Invalid KANJI code ("); print_hex_safe(n); print_char(")");
@.Invalid KANJI code@>
help1("I'm skipping this control sequences.");@/
error; return;
Expand Down Expand Up @@ -6698,7 +6725,7 @@ else
if p=pre_break_penalty_code then print("pre")
else if p=post_break_penalty_code then print("post")
else print_char("?");
print("breakpenalty ("); print_hex(n); print_char(")");
print("breakpenalty ("); print_hex_safe(n); print_char(")");
@.Invalid KANJI code@>
help1("I'm skipping this control sequences.");@/
error; return;
Expand Down Expand Up @@ -7385,7 +7412,7 @@ end;
@ @<Look ahead for glue or kerning@>=
cur_q:=tail;
if inhibit_glue_flag<>true then
begin { print("IF");print_int(cur_l); }
begin
if cur_l<qi(0) then cur_l:=qi(0) else inhibit_glue_flag:=false;
if (tail=link(head))and(not is_char_node(tail))and(type(tail)=disp_node) then
goto skip_loop
Expand Down Expand Up @@ -7433,7 +7460,7 @@ if inhibit_glue_flag<>true then
end;
end
else
begin { print("IT");print_int(cur_l); }
begin
if cur_l<qi(0) then cur_l:=qi(0) else inhibit_glue_flag:=false;
end;
skip_loop: do_nothing;
Expand Down
Loading