From dc1d7740b271831a97ed89906b3119e250bf10a0 Mon Sep 17 00:00:00 2001 From: "masayuki%d-toybox.com" Date: Fri, 5 May 2006 07:12:24 +0000 Subject: [PATCH] Bug 334217 armenian unicode caracters are not accessible anymore. patch by Masatoshi Kimura (:emk) r+sr=rbs --- gfx/src/windows/nsUnicodeRange.cpp | 37 ++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/gfx/src/windows/nsUnicodeRange.cpp b/gfx/src/windows/nsUnicodeRange.cpp index 9781e8a78cf..b09a4128602 100644 --- a/gfx/src/windows/nsUnicodeRange.cpp +++ b/gfx/src/windows/nsUnicodeRange.cpp @@ -206,7 +206,7 @@ const char *gUnicodeRangeToLangGroupTable[] = -#define NUM_OF_SUBTABLES 8 +#define NUM_OF_SUBTABLES 9 #define SUBTABLE_SIZE 16 static PRUint8 gUnicodeSubrangeTable[NUM_OF_SUBTABLES][SUBTABLE_SIZE] = @@ -225,7 +225,7 @@ static PRUint8 gUnicodeSubrangeTable[NUM_OF_SUBTABLES][SUBTABLE_SIZE] = kRangeTableBase+4, //uaxxx kRangeKorean, //ubxxx kRangeKorean, //ucxxx - kRangeTableBase+5, //udxxx + kRangeTableBase+5, //udxxx kRangePrivate, //uexxx kRangeTableBase+6 //ufxxx }, @@ -235,7 +235,7 @@ static PRUint8 gUnicodeSubrangeTable[NUM_OF_SUBTABLES][SUBTABLE_SIZE] = kRangeSetLatin, //u02xx kRangeGreek, //u03xx XXX 0300-036f is in fact kRangeCombiningDiacriticalMarks kRangeCyrillic, //u04xx - kRangeHebrew, //u05xx XXX 0530-058f is in fact kRangeArmenian + kRangeTableBase+7, //u05xx, includes Cyrillic supplement, Hebrew, and Armenian kRangeArabic, //u06xx kRangeTertiaryTable, //u07xx kRangeUnassigned, //u08xx @@ -245,7 +245,7 @@ static PRUint8 gUnicodeSubrangeTable[NUM_OF_SUBTABLES][SUBTABLE_SIZE] = kRangeTertiaryTable, //u0cxx kRangeTertiaryTable, //u0dxx kRangeTertiaryTable, //u0exx - kRangeTertiaryTable, //u0fxx + kRangeTibetan, //u0fxx }, { //table for 1x-- kRangeTertiaryTable, //u10xx @@ -281,7 +281,7 @@ static PRUint8 gUnicodeSubrangeTable[NUM_OF_SUBTABLES][SUBTABLE_SIZE] = kRangeUnassigned, //u2cxx kRangeUnassigned, //u2dxx kRangeSetCJK, //u2exx - kRangeSetCJK, //u2fxx + kRangeSetCJK, //u2fxx }, { //table for ax-- kRangeYi, //ua0xx @@ -329,8 +329,8 @@ static PRUint8 gUnicodeSubrangeTable[NUM_OF_SUBTABLES][SUBTABLE_SIZE] = kRangePrivate, //uf6xx kRangePrivate, //uf7xx kRangePrivate, //uf8xx - kRangeSetCJK, //uf9xx - kRangeSetCJK, //ufaxx + kRangeSetCJK, //uf9xx + kRangeSetCJK, //ufaxx kRangeArabic, //ufbxx, includes alphabic presentation form kRangeArabic, //ufcxx kRangeArabic, //ufdxx @@ -338,8 +338,25 @@ static PRUint8 gUnicodeSubrangeTable[NUM_OF_SUBTABLES][SUBTABLE_SIZE] = // CJK compatibility forms, // CJK compatibility forms, // small form variants - - kRangeTableBase+7, //uffxx, halfwidth and fullwidth forms, includes Special + kRangeTableBase+8, //uffxx, halfwidth and fullwidth forms, includes Specials + }, + { //table for 0x0500 - 0x05ff + kRangeCyrillic, //u050x + kRangeCyrillic, //u051x + kRangeCyrillic, //u052x + kRangeArmenian, //u053x + kRangeArmenian, //u054x + kRangeArmenian, //u055x + kRangeArmenian, //u056x + kRangeArmenian, //u057x + kRangeArmenian, //u058x + kRangeHebrew, //u059x + kRangeHebrew, //u05ax + kRangeHebrew, //u05bx + kRangeHebrew, //u05cx + kRangeHebrew, //u05dx + kRangeHebrew, //u05ex + kRangeHebrew, //u05fx }, { //table for 0xff00 - 0xffff kRangeSetCJK, //uff0x, fullwidth latin @@ -406,7 +423,7 @@ static PRUint8 gUnicodeTertiaryRangeTable[TERTIARY_TABLE_SIZE] = // A two level index is almost enough for locating a range, with the // exception of u03xx and u05xx. Since we don't really care about range for -// Armenian and combining diacritical marks in our font application, they are +// combining diacritical marks in our font application, they are // not discriminated further. But future adoption of this module for other use // should be aware of this limitation. The implementation can be extended if // there is such a need.