From 41ae07006ee10e9ce2fe3ebdfc68929600aa05fe Mon Sep 17 00:00:00 2001 From: "rbs%maths.uq.edu.au" Date: Fri, 25 Jan 2002 05:57:27 +0000 Subject: [PATCH] Fix MathML bug 118313 - GetBoundingMetrics is inaccurate in the face of whitespace. Avoid a troublesome whitespace glyph that has zero width --- intl/uconv/ucvmath/texcmex-ttf.uf | 39 +++---- intl/uconv/ucvmath/texcmsy-ttf.uf | 165 ++++++++++++++---------------- 2 files changed, 95 insertions(+), 109 deletions(-) diff --git a/intl/uconv/ucvmath/texcmex-ttf.uf b/intl/uconv/ucvmath/texcmex-ttf.uf index 612aeb5cbafa..aa81bce111d8 100644 --- a/intl/uconv/ucvmath/texcmex-ttf.uf +++ b/intl/uconv/ucvmath/texcmex-ttf.uf @@ -68,21 +68,15 @@ Begin of Item 0003 End of Item 0003 Begin of Item 0004 - Format 2 - srcBegin = 0020 - destBegin = 0020 -End of Item 0004 - -Begin of Item 0005 Format 1 srcBegin = EFC7 srcEnd = EFCA mappingOffset = 0000 Mapping = 002C 002D 002E 002F -End of Item 0005 +End of Item 0004 -Begin of Item 0006 +Begin of Item 0005 Format 1 srcBegin = F024 srcEnd = F02F @@ -90,9 +84,9 @@ Begin of Item 0006 Mapping = 00C1 00C2 00C3 00C4 002A 002B 0044 0045 00AD 00AE 00BF 00C0 -End of Item 0006 +End of Item 0005 -Begin of Item 0007 +Begin of Item 0006 Format 1 srcBegin = F8E6 srcEnd = F8FE @@ -102,40 +96,39 @@ Begin of Item 0007 0032 0036 0034 0038 003C 003A 003E FFFD 0031 0043 0041 0033 0037 0035 0039 003D 003B -End of Item 0007 +End of Item 0006 ========================================================*/ /* Offset=0x0000 ItemOfList */ - 0x0008, + 0x0007, /*-------------------------------------------------------*/ /* Offset=0x0001 offsetToFormatArray */ 0x0004, /*-------------------------------------------------------*/ /* Offset=0x0002 offsetToMapCellArray */ - 0x0007, + 0x0006, /*-------------------------------------------------------*/ /* Offset=0x0003 offsetToMappingTable */ - 0x001F, + 0x001B, /*-------------------------------------------------------*/ /* Offset=0x0004 Start of Format Array */ /* Total of Format 0 : 0x0004 */ /* Total of Format 1 : 0x0003 */ -/* Total of Format 2 : 0x0001 */ +/* Total of Format 2 : 0x0000 */ /* Total of Format 3 : 0x0000 */ -0x0000, 0x1112, 0x0000, +0x0000, 0x0111, /*-------------------------------------------------------*/ -/* Offset=0x0007 Start of MapCell Array */ +/* Offset=0x0006 Start of MapCell Array */ /* 0000 */ 0xEFBC, 0xEFC4, 0x0021, /* 0001 */ 0xEFCD, 0xF005, 0x0046, /* 0002 */ 0xF006, 0xF00F, 0x00A1, /* 0003 */ 0xF012, 0xF021, 0x00AF, -/* 0004 */ 0x0020, 0x0000, 0x0020, -/* 0005 */ 0xEFC7, 0xEFCA, 0x0000, -/* 0006 */ 0xF024, 0xF02F, 0x0004, -/* 0007 */ 0xF8E6, 0xF8FE, 0x0010, +/* 0004 */ 0xEFC7, 0xEFCA, 0x0000, +/* 0005 */ 0xF024, 0xF02F, 0x0004, +/* 0006 */ 0xF8E6, 0xF8FE, 0x0010, /*-------------------------------------------------------*/ -/* Offset=0x001F Start of MappingTable */ +/* Offset=0x001B Start of MappingTable */ /* 0000 */ 0x002C, 0x002D, 0x002E, 0x002F, 0x00C1, 0x00C2, 0x00C3, 0x00C4, /* 0008 */ 0x002A, 0x002B, 0x0044, 0x0045, 0x00AD, 0x00AE, 0x00BF, 0x00C0, @@ -143,4 +136,4 @@ End of Item 0007 /* 0018 */ 0x0032, 0x0036, 0x0034, 0x0038, 0x003C, 0x003A, 0x003E, 0xFFFD, /* 0020 */ 0x0031, 0x0043, 0x0041, 0x0033, 0x0037, 0x0035, 0x0039, 0x003D, /* 0028 */ 0x003B, -/* End of table Total Length = 0x0048 * 2 */ +/* End of table Total Length = 0x0044 * 2 */ diff --git a/intl/uconv/ucvmath/texcmsy-ttf.uf b/intl/uconv/ucvmath/texcmsy-ttf.uf index 8e24dcf6307e..bfa6b1b096a9 100644 --- a/intl/uconv/ucvmath/texcmsy-ttf.uf +++ b/intl/uconv/ucvmath/texcmsy-ttf.uf @@ -16,26 +16,20 @@ End of Item 0000 Begin of Item 0001 Format 2 - srcBegin = 0020 - destBegin = 0020 + srcBegin = 005C + destBegin = 006E End of Item 0001 Begin of Item 0002 - Format 2 - srcBegin = 005C - destBegin = 006E -End of Item 0002 - -Begin of Item 0003 Format 1 srcBegin = 007B srcEnd = 007D mappingOffset = 0000 Mapping = 0066 FFFD 0067 -End of Item 0003 +End of Item 0002 -Begin of Item 0004 +Begin of Item 0003 Format 1 srcBegin = 00A0 srcEnd = 00B6 @@ -44,42 +38,42 @@ Begin of Item 0004 00A0 FFFD FFFD FFFD FFFD FFFD FFFD 0078 FFFD FFFD FFFD FFFD 003A FFFD FFFD FFFD FFFD 00A7 FFFD FFFD FFFD FFFD 007B +End of Item 0003 + +Begin of Item 0004 + Format 2 + srcBegin = 00D7 + destBegin = 00A3 End of Item 0004 Begin of Item 0005 Format 2 - srcBegin = 00D7 - destBegin = 00A3 + srcBegin = 00F7 + destBegin = 00A5 End of Item 0005 Begin of Item 0006 Format 2 - srcBegin = 00F7 - destBegin = 00A5 + srcBegin = 0338 + destBegin = 0036 End of Item 0006 Begin of Item 0007 - Format 2 - srcBegin = 0338 - destBegin = 0036 -End of Item 0007 - -Begin of Item 0008 Format 1 srcBegin = 2020 srcEnd = 2021 mappingOffset = 001A Mapping = 0079 007A -End of Item 0008 +End of Item 0007 -Begin of Item 0009 +Begin of Item 0008 Format 2 srcBegin = 2032 destBegin = 0030 -End of Item 0009 +End of Item 0008 -Begin of Item 000A +Begin of Item 0009 Format 1 srcBegin = 210B srcEnd = 211C @@ -88,9 +82,9 @@ Begin of Item 000A 0048 FFFD FFFD FFFD FFFD 0049 003D 004C FFFD FFFD FFFD FFFD FFFD FFFD FFFD FFFD 0052 003C -End of Item 000A +End of Item 0009 -Begin of Item 000B +Begin of Item 000A Format 1 srcBegin = 212C srcEnd = 2135 @@ -98,9 +92,9 @@ Begin of Item 000B Mapping = 0042 FFFD FFFD FFFD 0045 0046 FFFD 004D FFFD 0040 -End of Item 000B +End of Item 000A -Begin of Item 000C +Begin of Item 000B Format 1 srcBegin = 2190 srcEnd = 2199 @@ -108,18 +102,18 @@ Begin of Item 000C Mapping = 00C3 0022 0021 0023 0024 006C 002D 0025 0026 002E -End of Item 000C +End of Item 000B -Begin of Item 000D +Begin of Item 000C Format 1 srcBegin = 21D0 srcEnd = 21D5 mappingOffset = 0042 Mapping = 0028 002A 0029 002B 002C 006D -End of Item 000D +End of Item 000C -Begin of Item 000E +Begin of Item 000D Format 1 srcBegin = 2200 srcEnd = 222B @@ -131,9 +125,9 @@ Begin of Item 000E 00B1 00B2 0070 FFFD FFFD 002F 0031 FFFD FFFD FFFD FFFD 006A FFFD 006B FFFD 005E 005F 005C 005B 0073 -End of Item 000E +End of Item 000D -Begin of Item 000F +Begin of Item 000E Format 1 srcBegin = 223C srcEnd = 224D @@ -142,9 +136,9 @@ Begin of Item 000F 00BB FFFD FFFD FFFD 006F FFFD FFFD 0027 FFFD FFFD FFFD FFFD 00BC FFFD FFFD FFFD FFFD 00B3 -End of Item 000F +End of Item 000E -Begin of Item 0010 +Begin of Item 000F Format 1 srcBegin = 2261 srcEnd = 226B @@ -152,9 +146,9 @@ Begin of Item 0010 Mapping = 00B4 FFFD FFFD 00B7 00B8 FFFD FFFD FFFD FFFD 00BF 00C0 -End of Item 0010 +End of Item 000F -Begin of Item 0011 +Begin of Item 0010 Format 1 srcBegin = 227A srcEnd = 22A5 @@ -166,36 +160,36 @@ Begin of Item 0011 0077 0075 0074 00A9 00AA 00AD 00AE 00AF FFFD FFFD FFFD FFFD FFFD FFFD FFFD FFFD 0060 0061 003E 003F -End of Item 0011 +End of Item 0010 -Begin of Item 0012 +Begin of Item 0011 Format 1 srcBegin = 22C4 srcEnd = 22C5 mappingOffset = 00BD Mapping = 00A6 00A2 -End of Item 0012 +End of Item 0011 -Begin of Item 0013 +Begin of Item 0012 Format 1 srcBegin = 2308 srcEnd = 230B mappingOffset = 00BF Mapping = 0064 0065 0062 0063 -End of Item 0013 +End of Item 0012 -Begin of Item 0014 +Begin of Item 0013 Format 1 srcBegin = 2329 srcEnd = 232A mappingOffset = 00C3 Mapping = 0068 0069 -End of Item 0014 +End of Item 0013 -Begin of Item 0015 +Begin of Item 0014 Format 1 srcBegin = 25B3 srcEnd = 25BD @@ -203,24 +197,24 @@ Begin of Item 0015 Mapping = 0034 FFFD FFFD FFFD FFFD FFFD FFFD FFFD FFFD FFFD 0035 -End of Item 0015 +End of Item 0014 -Begin of Item 0016 +Begin of Item 0015 Format 2 srcBegin = 25CB destBegin = 00B0 -End of Item 0016 +End of Item 0015 -Begin of Item 0017 +Begin of Item 0016 Format 1 srcBegin = 2660 srcEnd = 2663 mappingOffset = 00D0 Mapping = 00C4 007E 007D 007C -End of Item 0017 +End of Item 0016 -Begin of Item 0018 +Begin of Item 0017 Format 1 srcBegin = EF35 srcEnd = EF3E @@ -228,17 +222,17 @@ Begin of Item 0018 Mapping = 0041 0043 0044 0047 004A 004B 004E 004F 0050 0051 -End of Item 0018 +End of Item 0017 -Begin of Item 0019 +Begin of Item 0018 Format 2 srcBegin = EFB9 destBegin = 0037 -End of Item 0019 +End of Item 0018 ========================================================*/ /* Offset=0x0000 ItemOfList */ - 0x001A, + 0x0019, /*-------------------------------------------------------*/ /* Offset=0x0001 offsetToFormatArray */ 0x0004, @@ -247,45 +241,44 @@ End of Item 0019 0x000B, /*-------------------------------------------------------*/ /* Offset=0x0003 offsetToMappingTable */ - 0x0059, + 0x0056, /*-------------------------------------------------------*/ /* Offset=0x0004 Start of Format Array */ /* Total of Format 0 : 0x0001 */ /* Total of Format 1 : 0x0011 */ -/* Total of Format 2 : 0x0008 */ +/* Total of Format 2 : 0x0007 */ /* Total of Format 3 : 0x0000 */ -0x1220, 0x2221, 0x1121, 0x1111, 0x1111, 0x1211, 0x0021, +0x1120, 0x1222, 0x1112, 0x1111, 0x1111, 0x1121, 0x0002, /*-------------------------------------------------------*/ /* Offset=0x000B Start of MapCell Array */ /* 0000 */ 0xEF3F, 0xEF46, 0x0053, -/* 0001 */ 0x0020, 0x0000, 0x0020, -/* 0002 */ 0x005C, 0x0000, 0x006E, -/* 0003 */ 0x007B, 0x007D, 0x0000, -/* 0004 */ 0x00A0, 0x00B6, 0x0003, -/* 0005 */ 0x00D7, 0x0000, 0x00A3, -/* 0006 */ 0x00F7, 0x0000, 0x00A5, -/* 0007 */ 0x0338, 0x0000, 0x0036, -/* 0008 */ 0x2020, 0x2021, 0x001A, -/* 0009 */ 0x2032, 0x0000, 0x0030, -/* 000A */ 0x210B, 0x211C, 0x001C, -/* 000B */ 0x212C, 0x2135, 0x002E, -/* 000C */ 0x2190, 0x2199, 0x0038, -/* 000D */ 0x21D0, 0x21D5, 0x0042, -/* 000E */ 0x2200, 0x222B, 0x0048, -/* 000F */ 0x223C, 0x224D, 0x0074, -/* 0010 */ 0x2261, 0x226B, 0x0086, -/* 0011 */ 0x227A, 0x22A5, 0x0091, -/* 0012 */ 0x22C4, 0x22C5, 0x00BD, -/* 0013 */ 0x2308, 0x230B, 0x00BF, -/* 0014 */ 0x2329, 0x232A, 0x00C3, -/* 0015 */ 0x25B3, 0x25BD, 0x00C5, -/* 0016 */ 0x25CB, 0x0000, 0x00B0, -/* 0017 */ 0x2660, 0x2663, 0x00D0, -/* 0018 */ 0xEF35, 0xEF3E, 0x00D4, -/* 0019 */ 0xEFB9, 0x0000, 0x0037, +/* 0001 */ 0x005C, 0x0000, 0x006E, +/* 0002 */ 0x007B, 0x007D, 0x0000, +/* 0003 */ 0x00A0, 0x00B6, 0x0003, +/* 0004 */ 0x00D7, 0x0000, 0x00A3, +/* 0005 */ 0x00F7, 0x0000, 0x00A5, +/* 0006 */ 0x0338, 0x0000, 0x0036, +/* 0007 */ 0x2020, 0x2021, 0x001A, +/* 0008 */ 0x2032, 0x0000, 0x0030, +/* 0009 */ 0x210B, 0x211C, 0x001C, +/* 000A */ 0x212C, 0x2135, 0x002E, +/* 000B */ 0x2190, 0x2199, 0x0038, +/* 000C */ 0x21D0, 0x21D5, 0x0042, +/* 000D */ 0x2200, 0x222B, 0x0048, +/* 000E */ 0x223C, 0x224D, 0x0074, +/* 000F */ 0x2261, 0x226B, 0x0086, +/* 0010 */ 0x227A, 0x22A5, 0x0091, +/* 0011 */ 0x22C4, 0x22C5, 0x00BD, +/* 0012 */ 0x2308, 0x230B, 0x00BF, +/* 0013 */ 0x2329, 0x232A, 0x00C3, +/* 0014 */ 0x25B3, 0x25BD, 0x00C5, +/* 0015 */ 0x25CB, 0x0000, 0x00B0, +/* 0016 */ 0x2660, 0x2663, 0x00D0, +/* 0017 */ 0xEF35, 0xEF3E, 0x00D4, +/* 0018 */ 0xEFB9, 0x0000, 0x0037, /*-------------------------------------------------------*/ -/* Offset=0x0059 Start of MappingTable */ +/* Offset=0x0056 Start of MappingTable */ /* 0000 */ 0x0066, 0xFFFD, 0x0067, 0x00A0, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, /* 0008 */ 0xFFFD, 0xFFFD, 0x0078, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x003A, @@ -315,4 +308,4 @@ End of Item 0019 /* 00C8 */ 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x0035, /* 00D0 */ 0x00C4, 0x007E, 0x007D, 0x007C, 0x0041, 0x0043, 0x0044, 0x0047, /* 00D8 */ 0x004A, 0x004B, 0x004E, 0x004F, 0x0050, 0x0051, -/* End of table Total Length = 0x0137 * 2 */ +/* End of table Total Length = 0x0134 * 2 */