Bug 820263 - Mark as CLASS_COMPLEX for Khmer language. r=masayuki

This commit is contained in:
Makoto Kato 2013-03-04 19:17:03 +09:00
parent aa623e0a8b
commit 3019f0f805
9 changed files with 109 additions and 25 deletions

View File

@ -67,7 +67,8 @@ NS_IsSpace(PRUnichar u)
static inline bool
NS_NeedsPlatformNativeHandling(PRUnichar aChar)
{
return (0x0e01 <= aChar && aChar <= 0x0fff); // Thai, Lao, Tibetan
return (0x0e01 <= aChar && aChar <= 0x0fff) || // Thai, Lao, Tibetan
(0x1780 <= aChar && aChar <= 0x17ff); // Khmer
}
#endif /* nsILineBreaker_h__ */

View File

@ -181,3 +181,38 @@ static const uint32_t gLBClass0E[32] = {
0x88888888, // U+0EF8 - U+0EFF
};
static const uint32_t gLBClass17[32] = {
0x77777777, // U+1700 - U+1707
0x77777777, // U+1708 - U+170F
0x77777777, // U+1710 - U+1717
0x77777777, // U+1718 - U+171F
0x77777777, // U+1720 - U+1727
0x77777777, // U+1728 - U+172F
0x70077777, // U+1730 - U+1737
0x77777777, // U+1738 - U+173F
0x77777777, // U+1740 - U+1747
0x77777777, // U+1748 - U+174F
0x77777777, // U+1750 - U+1757
0x77777777, // U+1758 - U+175F
0x77777777, // U+1760 - U+1767
0x77777777, // U+1768 - U+176F
0x77777777, // U+1770 - U+1777
0x77777777, // U+1778 - U+177F
0x88888888, // U+1780 - U+1787
0x88888888, // U+1788 - U+178F
0x88888888, // U+1790 - U+1797
0x88888888, // U+1798 - U+179F
0x88888888, // U+17A0 - U+17A7
0x88888888, // U+17A8 - U+17AF
0x88888888, // U+17B0 - U+17B7
0x88888888, // U+17B8 - U+17BF
0x88888888, // U+17C0 - U+17C7
0x88888888, // U+17C8 - U+17CF
0x88118888, // U+17D0 - U+17D7
0x77888181, // U+17D8 - U+17DF
0x88888888, // U+17E0 - U+17E7
0x77777788, // U+17E8 - U+17EF
0x88888888, // U+17F0 - U+17F7
0x77777788, // U+17F8 - U+17FF
};

View File

@ -413,6 +413,8 @@ GetClass(PRUnichar u)
// Handle 3 range table first
if (0x0000 == h) {
c = GETCLASSFROMTABLE(gLBClass00, l);
} else if (0x1700 == h) {
c = GETCLASSFROMTABLE(gLBClass17, l);
} else if (NS_NeedsPlatformNativeHandling(u)) {
c = CLASS_COMPLEX;
} else if (0x0E00 == h) {

View File

@ -57,10 +57,10 @@ Analysis of JIS X 4051 to Unicode General Category Mapping
<TD></TD>
<TD></TD>
<TD></TD>
<TD>12</TD>
<TD>14</TD>
<TD>1</TD>
<TD></TD>
<TD BGCOLOR=white>13</TD>
<TD BGCOLOR=white>15</TD>
<TD></TD>
<TD></TD>
<TD></TD>
@ -81,7 +81,7 @@ Analysis of JIS X 4051 to Unicode General Category Mapping
<TD></TD>
<TD></TD>
<TD>1</TD>
<TD></TD>
<TD>2</TD>
<TD>11</TD>
<TD>1</TD>
<TD></TD>
@ -96,10 +96,10 @@ Analysis of JIS X 4051 to Unicode General Category Mapping
<TD>32</TD>
<TD>2</TD>
<TD></TD>
<TD>24</TD>
<TD>28</TD>
<TD>3</TD>
<TD></TD>
<TD BGCOLOR=white>61</TD>
<TD BGCOLOR=white>65</TD>
<TD></TD>
<TD></TD>
<TD></TD>
@ -120,7 +120,7 @@ Analysis of JIS X 4051 to Unicode General Category Mapping
<TD>12</TD>
<TD>1</TD>
<TD></TD>
<TD>10</TD>
<TD>14</TD>
<TD></TD>
<TD></TD>
<TD>2</TD>
@ -366,36 +366,36 @@ Analysis of JIS X 4051 to Unicode General Category Mapping
</TR>
<TR><TH>08_COMPLEX<TH>
<TD></TD>
<TD>54</TD>
<TD>33</TD>
<TD>20</TD>
<TD>2</TD>
<TD>1</TD>
<TD></TD>
<TD BGCOLOR=white>110</TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD>1</TD>
<TD>53</TD>
<TD></TD>
<TD BGCOLOR=white>0</TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD>11</TD>
<TD></TD>
<TD>22</TD>
<TD>10</TD>
<TD></TD>
<TD>10</TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD>2</TD>
<TD></TD>
<TD>1</TD>
<TD></TD>
<TD></TD>
<TD></TD>
@ -606,6 +606,21 @@ Analysis of JIS X 4051 to Unicode General Category Mapping
<TD></TD>
<TD></TD>
</TR>
<TR><TH>17<TH>
<TD>2</TD>
<TD>4</TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD>110</TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
</TR>
<TR><TH>20<TH>
<TD>2</TD>
<TD>8</TD>

View File

@ -341,6 +341,7 @@ printarray("20", "7");
printarray("21", "7");
printarray("30", "5");
printarray("0E", "8");
printarray("17", "7");
#print %rangecount;

View File

@ -41,6 +41,13 @@
0EAF;;4
0EC6;;4
0ED0;0ED9;15
1735;1736;1
17D4;17D5;4
17D8;;4
17DA;;4
1780;17DD;21
17E0;17E9;21
17F0;17F9;21
2007;;24
2000;200B;17
200C;200F;18

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css"> div { width: 1em; } </style>
</head>
<body lang="km">
<div>aaaaaaaaaa&#x17D8;<br>bbbbbbbbbb</div>
<div>aaaaaaaaaa&#x17DA;<br>bbbbbbbbbb</div>
</body>
</html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css"> div { width: 1em; } </style>
</head>
<body lang="km">
<div>aaaaaaaaaa&#x17D8;bbbbbbbbbb</div>
<div>aaaaaaaaaa&#x17DA;bbbbbbbbbb</div>
</body>
</html>

View File

@ -10,6 +10,7 @@
random-if(cocoaWidget) == ja-1.html ja-1-ref.html
random-if(cocoaWidget) == ja-2.html ja-2-ref.html
random-if(cocoaWidget) == ja-3.html ja-3-ref.html
== khmer-1.html khmer-1-ref.html
== leaders-1.html leaders-1-ref.html
== markup-src-1.html markup-src-1-ref.html
== non-breakable-1.html non-breakable-1-ref.html