| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv
ed. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv
ed. |
| 5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) | 5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) |
| 6 * Copyright (C) 2010 Daniel Bates (dbates@intudata.com) | 6 * Copyright (C) 2010 Daniel Bates (dbates@intudata.com) |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 363 AbstractCJKChar* group = &buffer[(3 - i) * groupLength]; | 363 AbstractCJKChar* group = &buffer[(3 - i) * groupLength]; |
| 364 | 364 |
| 365 if (groupValue && i) { | 365 if (groupValue && i) { |
| 366 group[8] = static_cast<AbstractCJKChar>(SecondGroupMarker + i); | 366 group[8] = static_cast<AbstractCJKChar>(SecondGroupMarker + i); |
| 367 group[7] = static_cast<AbstractCJKChar>(SecondGroupMarker - 1 + i); | 367 group[7] = static_cast<AbstractCJKChar>(SecondGroupMarker - 1 + i); |
| 368 } | 368 } |
| 369 | 369 |
| 370 // Put in the four digits and digit markers for any non-zero digits. | 370 // Put in the four digits and digit markers for any non-zero digits. |
| 371 int digitValue = (groupValue % 10); | 371 int digitValue = (groupValue % 10); |
| 372 bool trailingZero = table[Lang] == Chinese && !digitValue; | 372 bool trailingZero = table[Lang] == Chinese && !digitValue; |
| 373 if (digitValue) | 373 if (digitValue) { |
| 374 group[6] = static_cast<AbstractCJKChar>(Digit0 + (groupValue % 10)); | 374 bool dropOne = table[Lang] == Korean && cjkStyle == Informal && digi
tValue == 1 && i > 0; |
| 375 if (!dropOne) |
| 376 group[6] = static_cast<AbstractCJKChar>(Digit0 + (groupValue % 1
0)); |
| 377 } |
| 375 if (number != 0 || groupValue > 9) { | 378 if (number != 0 || groupValue > 9) { |
| 376 digitValue = ((groupValue / 10) % 10); | 379 digitValue = ((groupValue / 10) % 10); |
| 377 if (digitValue || !trailingZero) | 380 bool dropOne = table[Lang] == Korean && cjkStyle == Informal && digi
tValue == 1; |
| 381 if ((digitValue && !dropOne) || (!digitValue && !trailingZero)) |
| 378 group[4] = static_cast<AbstractCJKChar>(Digit0 + digitValue); | 382 group[4] = static_cast<AbstractCJKChar>(Digit0 + digitValue); |
| 379 trailingZero &= !digitValue; | 383 trailingZero &= !digitValue; |
| 380 if (digitValue) | 384 if (digitValue) |
| 381 group[5] = SecondDigitMarker; | 385 group[5] = SecondDigitMarker; |
| 382 } | 386 } |
| 383 if (number != 0 || groupValue > 99) { | 387 if (number != 0 || groupValue > 99) { |
| 384 digitValue = ((groupValue / 100) % 10); | 388 digitValue = ((groupValue / 100) % 10); |
| 385 if (digitValue || !trailingZero) | 389 bool dropOne = table[Lang] == Korean && cjkStyle == Informal && digi
tValue == 1; |
| 390 if ((digitValue && !dropOne) || (!digitValue && !trailingZero)) |
| 386 group[2] = static_cast<AbstractCJKChar>(Digit0 + digitValue); | 391 group[2] = static_cast<AbstractCJKChar>(Digit0 + digitValue); |
| 387 trailingZero &= !digitValue; | 392 trailingZero &= !digitValue; |
| 388 if (digitValue) | 393 if (digitValue) |
| 389 group[3] = ThirdDigitMarker; | 394 group[3] = ThirdDigitMarker; |
| 390 } | 395 } |
| 391 if (number != 0 || groupValue > 999) { | 396 if (number != 0 || groupValue > 999) { |
| 392 digitValue = groupValue / 1000; | 397 digitValue = groupValue / 1000; |
| 393 if (digitValue || !trailingZero) | 398 bool dropOne = table[Lang] == Korean && cjkStyle == Informal && digi
tValue == 1; |
| 399 if ((digitValue && !dropOne) || (!digitValue && !trailingZero)) |
| 394 group[0] = static_cast<AbstractCJKChar>(Digit0 + digitValue); | 400 group[0] = static_cast<AbstractCJKChar>(Digit0 + digitValue); |
| 395 if (digitValue) | 401 if (digitValue) |
| 396 group[1] = FourthDigitMarker; | 402 group[1] = FourthDigitMarker; |
| 397 } | 403 } |
| 398 | 404 |
| 399 if (trailingZero && i > 0) { | 405 if (trailingZero && i > 0) { |
| 400 group[6] = group[7]; | 406 group[6] = group[7]; |
| 401 group[7] = group[8]; | 407 group[7] = group[8]; |
| 402 group[8] = Digit0; | 408 group[8] = Digit0; |
| 403 } | 409 } |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 466 case Myanmar: | 472 case Myanmar: |
| 467 case NoneListStyle: | 473 case NoneListStyle: |
| 468 case Oriya: | 474 case Oriya: |
| 469 case Persian: | 475 case Persian: |
| 470 case Square: | 476 case Square: |
| 471 case Telugu: | 477 case Telugu: |
| 472 case Thai: | 478 case Thai: |
| 473 case Tibetan: | 479 case Tibetan: |
| 474 case Urdu: | 480 case Urdu: |
| 475 case KoreanHangulFormal: | 481 case KoreanHangulFormal: |
| 482 case KoreanHanjaFormal: |
| 483 case KoreanHanjaInformal: |
| 476 case CJKIdeographic: | 484 case CJKIdeographic: |
| 477 case SimpChineseFormal: | 485 case SimpChineseFormal: |
| 478 case SimpChineseInformal: | 486 case SimpChineseInformal: |
| 479 case TradChineseFormal: | 487 case TradChineseFormal: |
| 480 case TradChineseInformal: | 488 case TradChineseInformal: |
| 481 return type; // Can represent all ordinals. | 489 return type; // Can represent all ordinals. |
| 482 case Armenian: | 490 case Armenian: |
| 483 case LowerArmenian: | 491 case LowerArmenian: |
| 484 case UpperArmenian: | 492 case UpperArmenian: |
| 485 return (value < 1 || value > 99999999) ? DecimalListStyle : type; | 493 return (value < 1 || value > 99999999) ? DecimalListStyle : type; |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 573 case UpperArmenian: | 581 case UpperArmenian: |
| 574 case UpperLatin: | 582 case UpperLatin: |
| 575 case UpperRoman: | 583 case UpperRoman: |
| 576 case Urdu: | 584 case Urdu: |
| 577 return '.'; | 585 return '.'; |
| 578 case SimpChineseFormal: | 586 case SimpChineseFormal: |
| 579 case SimpChineseInformal: | 587 case SimpChineseInformal: |
| 580 case TradChineseFormal: | 588 case TradChineseFormal: |
| 581 case TradChineseInformal: | 589 case TradChineseInformal: |
| 582 case KoreanHangulFormal: | 590 case KoreanHangulFormal: |
| 591 case KoreanHanjaFormal: |
| 592 case KoreanHanjaInformal: |
| 583 return 0x3001; | 593 return 0x3001; |
| 584 } | 594 } |
| 585 | 595 |
| 586 ASSERT_NOT_REACHED(); | 596 ASSERT_NOT_REACHED(); |
| 587 return '.'; | 597 return '.'; |
| 588 } | 598 } |
| 589 | 599 |
| 590 String listMarkerText(EListStyleType type, int value) | 600 String listMarkerText(EListStyleType type, int value) |
| 591 { | 601 { |
| 592 // If the list-style-type, say hebrew, cannot represent |value| because it's
outside | 602 // If the list-style-type, say hebrew, cannot represent |value| because it's
outside |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 859 static const UChar koreanHangulFormalTable[26] = { | 869 static const UChar koreanHangulFormalTable[26] = { |
| 860 Korean, | 870 Korean, |
| 861 0xB9CC, 0x0000, 0xC5B5, 0x0000, 0xC870, 0x0000, | 871 0xB9CC, 0x0000, 0xC5B5, 0x0000, 0xC870, 0x0000, |
| 862 0xC2ED, 0xBC31, 0xCC9C, | 872 0xC2ED, 0xBC31, 0xCC9C, |
| 863 0xC601, 0xC77C, 0xC774, 0xC0BC, 0xC0AC, | 873 0xC601, 0xC77C, 0xC774, 0xC0BC, 0xC0AC, |
| 864 0xC624, 0xC721, 0xCE60, 0xD314, 0xAD6C, | 874 0xC624, 0xC721, 0xCE60, 0xD314, 0xAD6C, |
| 865 0xB9C8, 0xC774, 0xB108, 0xC2A4, 0x0020, 0x0000 | 875 0xB9C8, 0xC774, 0xB108, 0xC2A4, 0x0020, 0x0000 |
| 866 }; | 876 }; |
| 867 return toCJKIdeographic(value, koreanHangulFormalTable, Formal); | 877 return toCJKIdeographic(value, koreanHangulFormalTable, Formal); |
| 868 } | 878 } |
| 879 case KoreanHanjaFormal: { |
| 880 static const UChar koreanHanjaFormalTable[26] = { |
| 881 Korean, |
| 882 0x842C, 0x0000, 0x5104, 0x0000, 0x5146, 0x0000, |
| 883 0x62FE, 0x767E, 0x4EDF, |
| 884 0x96F6, 0x58F9, 0x8CB3, 0x53C3, 0x56DB, |
| 885 0x4E94, 0x516D, 0x4E03, 0x516B, 0x4E5D, |
| 886 0xB9C8, 0xC774, 0xB108, 0xC2A4, 0x0020, 0x0000 |
| 887 }; |
| 888 return toCJKIdeographic(value, koreanHanjaFormalTable, Formal); |
| 889 } |
| 890 case KoreanHanjaInformal: { |
| 891 static const UChar koreanHanjaInformalTable[26] = { |
| 892 Korean, |
| 893 0x842C, 0x0000, 0x5104, 0x0000, 0x5146, 0x0000, |
| 894 0x5341, 0x767E, 0x5343, |
| 895 0x96F6, 0x4E00, 0x4E8C, 0x4E09, 0x56DB, |
| 896 0x4E94, 0x516D, 0x4E03, 0x516B, 0x4E5D, |
| 897 0xB9C8, 0xC774, 0xB108, 0xC2A4, 0x0020, 0x0000 |
| 898 }; |
| 899 return toCJKIdeographic(value, koreanHanjaInformalTable, Informal); |
| 900 } |
| 869 case CJKIdeographic: | 901 case CJKIdeographic: |
| 870 case TradChineseInformal: { | 902 case TradChineseInformal: { |
| 871 static const UChar traditionalChineseInformalTable[22] = { | 903 static const UChar traditionalChineseInformalTable[22] = { |
| 872 Chinese, | 904 Chinese, |
| 873 0x842C, 0x0000, 0x5104, 0x0000, 0x5146, 0x0000, | 905 0x842C, 0x0000, 0x5104, 0x0000, 0x5146, 0x0000, |
| 874 0x5341, 0x767E, 0x5343, | 906 0x5341, 0x767E, 0x5343, |
| 875 0x96F6, 0x4E00, 0x4E8C, 0x4E09, 0x56DB, | 907 0x96F6, 0x4E00, 0x4E8C, 0x4E09, 0x56DB, |
| 876 0x4E94, 0x516D, 0x4E03, 0x516B, 0x4E5D, | 908 0x4E94, 0x516D, 0x4E03, 0x516B, 0x4E5D, |
| 877 0x8CA0, 0x0000 | 909 0x8CA0, 0x0000 |
| 878 }; | 910 }; |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1099 case EthiopicHalehame: | 1131 case EthiopicHalehame: |
| 1100 case EthiopicHalehameAm: | 1132 case EthiopicHalehameAm: |
| 1101 case EthiopicHalehameTiEr: | 1133 case EthiopicHalehameTiEr: |
| 1102 case EthiopicHalehameTiEt: | 1134 case EthiopicHalehameTiEt: |
| 1103 case Georgian: | 1135 case Georgian: |
| 1104 case Gujarati: | 1136 case Gujarati: |
| 1105 case Gurmukhi: | 1137 case Gurmukhi: |
| 1106 case Hangul: | 1138 case Hangul: |
| 1107 case HangulConsonant: | 1139 case HangulConsonant: |
| 1108 case KoreanHangulFormal: | 1140 case KoreanHangulFormal: |
| 1141 case KoreanHanjaFormal: |
| 1142 case KoreanHanjaInformal: |
| 1109 case Hebrew: | 1143 case Hebrew: |
| 1110 case Hiragana: | 1144 case Hiragana: |
| 1111 case HiraganaIroha: | 1145 case HiraganaIroha: |
| 1112 case Kannada: | 1146 case Kannada: |
| 1113 case Katakana: | 1147 case Katakana: |
| 1114 case KatakanaIroha: | 1148 case KatakanaIroha: |
| 1115 case Khmer: | 1149 case Khmer: |
| 1116 case Lao: | 1150 case Lao: |
| 1117 case LowerAlpha: | 1151 case LowerAlpha: |
| 1118 case LowerArmenian: | 1152 case LowerArmenian: |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1179 case EthiopicHalehame: | 1213 case EthiopicHalehame: |
| 1180 case EthiopicHalehameAm: | 1214 case EthiopicHalehameAm: |
| 1181 case EthiopicHalehameTiEr: | 1215 case EthiopicHalehameTiEr: |
| 1182 case EthiopicHalehameTiEt: | 1216 case EthiopicHalehameTiEt: |
| 1183 case Georgian: | 1217 case Georgian: |
| 1184 case Gujarati: | 1218 case Gujarati: |
| 1185 case Gurmukhi: | 1219 case Gurmukhi: |
| 1186 case Hangul: | 1220 case Hangul: |
| 1187 case HangulConsonant: | 1221 case HangulConsonant: |
| 1188 case KoreanHangulFormal: | 1222 case KoreanHangulFormal: |
| 1223 case KoreanHanjaFormal: |
| 1224 case KoreanHanjaInformal: |
| 1189 case Hebrew: | 1225 case Hebrew: |
| 1190 case Hiragana: | 1226 case Hiragana: |
| 1191 case HiraganaIroha: | 1227 case HiraganaIroha: |
| 1192 case Kannada: | 1228 case Kannada: |
| 1193 case Katakana: | 1229 case Katakana: |
| 1194 case KatakanaIroha: | 1230 case KatakanaIroha: |
| 1195 case Khmer: | 1231 case Khmer: |
| 1196 case Lao: | 1232 case Lao: |
| 1197 case LowerAlpha: | 1233 case LowerAlpha: |
| 1198 case LowerArmenian: | 1234 case LowerArmenian: |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1354 case Devanagari: | 1390 case Devanagari: |
| 1355 case EthiopicHalehame: | 1391 case EthiopicHalehame: |
| 1356 case EthiopicHalehameAm: | 1392 case EthiopicHalehameAm: |
| 1357 case EthiopicHalehameTiEr: | 1393 case EthiopicHalehameTiEr: |
| 1358 case EthiopicHalehameTiEt: | 1394 case EthiopicHalehameTiEt: |
| 1359 case Georgian: | 1395 case Georgian: |
| 1360 case Gujarati: | 1396 case Gujarati: |
| 1361 case Gurmukhi: | 1397 case Gurmukhi: |
| 1362 case Hangul: | 1398 case Hangul: |
| 1363 case KoreanHangulFormal: | 1399 case KoreanHangulFormal: |
| 1400 case KoreanHanjaFormal: |
| 1401 case KoreanHanjaInformal: |
| 1364 case HangulConsonant: | 1402 case HangulConsonant: |
| 1365 case Hebrew: | 1403 case Hebrew: |
| 1366 case Hiragana: | 1404 case Hiragana: |
| 1367 case HiraganaIroha: | 1405 case HiraganaIroha: |
| 1368 case Kannada: | 1406 case Kannada: |
| 1369 case Katakana: | 1407 case Katakana: |
| 1370 case KatakanaIroha: | 1408 case KatakanaIroha: |
| 1371 case Khmer: | 1409 case Khmer: |
| 1372 case Lao: | 1410 case Lao: |
| 1373 case LowerAlpha: | 1411 case LowerAlpha: |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1443 if (style()) { | 1481 if (style()) { |
| 1444 // Reuse the current margins. Otherwise resetting the margins to initial
values | 1482 // Reuse the current margins. Otherwise resetting the margins to initial
values |
| 1445 // would trigger unnecessary layout. | 1483 // would trigger unnecessary layout. |
| 1446 newStyle->setMarginStart(style()->marginStart()); | 1484 newStyle->setMarginStart(style()->marginStart()); |
| 1447 newStyle->setMarginEnd(style()->marginRight()); | 1485 newStyle->setMarginEnd(style()->marginRight()); |
| 1448 } | 1486 } |
| 1449 setStyle(newStyle.release()); | 1487 setStyle(newStyle.release()); |
| 1450 } | 1488 } |
| 1451 | 1489 |
| 1452 } // namespace blink | 1490 } // namespace blink |
| OLD | NEW |