Commit graph

58 commits

Author SHA1 Message Date
Andy
44f81b46b6 Issue #2538 - Part 3: Bring ZWJ Awareness to ClusterReverseIterator
Additional patch to resolve a bug exposed while working on the Cluster issue.
2024-06-28 22:05:40 +08:00
Andy
68bcd4e61e Issue #2538 - Part 2: Add IsEmojiClusterExtender
Check specifically for Emoji-specific clusters only in Emoji-specific contexts.
2024-06-28 22:05:20 +08:00
Andy
a1b6142e18 Issue #2538 - Part 1: Undo IsClusterExtender Change
This partially reverts commit 49b7816286498e9ad5b48864847f0a2adabff318.
So much for getting rid of the stupid constants...
2024-06-28 22:04:50 +08:00
Andy
52d7e4f3db PR #2514 - Don't split up happy emoji sequences
Loosely based on https://phabricator.services.mozilla.com/D25101
Includes changes to `GetEmojiPresentation`, added in e38b57ca.
The `EmojiComponent` response includes hair color, skin tone, ZWJ, VS16, Combining Enclosing Keycap, and the Tag unicode characters used for subdivision flag emojis.
This means that `IsClusterExtender` should support all these characters, and be forward compatible with any future Unicode changes.
This also lets us restructure `ClusterIterator::Next` to check for EmojiComponents after a TextDefault character, without any stupid constants.
2024-05-16 22:50:32 +08:00
Andy
69f3b4e199 Issue #2492 - Standardized use of Emoji Character Properties
Detection of Emoji Components, for use as suffixes of TextDefault.
Detection of Non-Presentation Emojis as TextDefault.
Detection of all Extended Pictographics as EmojiDefault.
2024-04-02 22:54:46 +08:00
Moonchild
d388e478a0 Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from the rest of js, caps, chrome, config, devtools, docshell,
image, intl. More to come.
2023-05-04 10:46:38 +08:00
Job Bautista
bad884a7c7 Issue #2165 - Build ICU as a shared library if we're building Spidermonkey shared.
It seems that if we're going to enable JS_SHARED_LIBRARY, we need ICU to be a
shared library too in order to prevent code duplication in mozjs.dll bloating
it to a whopping 21 MB.
This unfortunately means we have to fold icudata back to icu itself. But since
icudata is still separated from libxul (which is what really matters for #1451),
I think this is a fair compromise.
Building ICU as shared is offered as an option via --enable-shared-icu. But
technically you really need --enable-shared-icu if you're going to use
--enable-shared-js. Unfortunately I can't make configure exit with an error if
MOZ_SHARED_ICU is not defined when JS_SHARED_LIBRARY is enabled, because options
are controlled by different configure scripts (icu is based on bash, while js is
based on python), and I have no idea how to pass MOZ_SHARED_ICU to js's
moz.configure.

Tag #62
2023-03-28 12:11:00 +08:00
Moonchild
bf19c2087b Update timezone data to 2022e 2022-11-10 14:55:09 +08:00
Job Bautista
3e6cbc6af3 Issue #1969 - Implement Intl.RelativeTimeFormat.
Based on Mozilla bugs 1270140, 1504656, 1483545, and 1504334.
Took note of Mozilla bug 1379222 which changed GetPrototypeFromCallableConstructor
 to GetPrototypeFromBuiltinConstructor.
There are many other changes I did myself since the initial implementation by
 Mozilla wouldn't work with this codebase.
2022-07-30 08:43:43 +08:00
Job Bautista
196f95dbff Issue #1971 - Part 4: Generated files for Unicode 11.0. 2022-07-30 08:43:43 +08:00
Job Bautista
9a4a62c8cc Issue #1971 - Part 3: Update unicharutil perl scripts for Unicode 11 upgrade.
ICU 62 (and therefore 63) requires at least Unicode 11.
2022-07-30 08:43:42 +08:00
Job Bautista
1e69214382 Issue #1971 - Part 2: Update ICU source to 63.2. 2022-07-30 08:43:41 +08:00
Job Bautista
8df84683be Issue #1971 - Part 1: Update build system for ICU 63.2 upgrade. 2022-07-30 08:43:38 +08:00
Job Bautista
8ad8bfb4ba Issue #326 - Part 6: Regenerate Unicode data tables with the stripped-down tool 2022-06-27 21:35:27 +08:00
Job Bautista
b8e7234b73 Issue #326 - Part 5: Simplify the genUnicodePropertyData.pl tool to generate only the data we need to supplement ICU properties
Backported from Mozilla bug 1402271.
Some removals were already done by Part 1b.
2022-06-27 21:35:13 +08:00
Job Bautista
54489c3029 Issue #326 - Part 4: Update Unicode data to release 10.0
genUnicodePropertyData.pl's output:
 unknown ICU script MASARAM_GONDI at ../tools/genUnicodePropertyData.pl line 442, <FH> line 2641.
 unknown ICU script SOYOMBO at ../tools/genUnicodePropertyData.pl line 442, <FH> line 2663.
 unknown ICU script ZANABAZAR_SQUARE at ../tools/genUnicodePropertyData.pl line 442, <FH> line 2679.
 Data for CharProp2 = 14864
 Data for FullWidth = 2176
 Data for FullWidthInverse = 2688
 Total data = 19728
2022-06-27 21:34:53 +08:00
Job Bautista
7c2d948210 Issue #326 - Part 3: Explicitly make the Script enum a 16-bit type
This is so we can add a field to gfxShapedWord without making it bigger.
Backported from Mozilla bug 1353000.
2022-06-27 21:34:33 +08:00
Job Bautista
cd64bfb143 Issue #326 - Part 2: Update UTR-50 data to version 16
Based on Mozilla bug 1288961.
2022-06-23 08:55:26 +08:00
Job Bautista
66d4f38c85 Issue #326 - Part 1c: Generated files for Unicode 9.0.
In order to generate these files, refer to
 https://wiki.mozilla.org/I18n:Updating_Unicode_version
For those too lazy to go to the link (or if the link no longer works), we need the
 following files from http://www.unicode.org/Public/9.0.0/ucd/:
 - UnicodeData.txt
 - Scripts.txt
 - EastAsianWidth.txt
 - BidiMirroring.txt
 - HangulSyllableType.txt
 - SpecialCasing.txt
 - ReadMe.txt (to record version/date of the UCD)
 - Unihan_Variants.txt (from Unihan.zip)
 As well as Identifier*.txt from http://www.unicode.org/Public/security/9.0.0/,
 which should be put in a "security" subdirectory under the UCD folder, and
 http://www.unicode.org/Public/vertical/revision-15/VerticalOrientation-15.txt put
 in a "vertical" subdirectory.
I suggest downloading all files with GetEmAll, just in case.
Change the perl command a bit, as the guide seems to be outdated:
 perl ../tools/genUnicodePropertyData.pl /path/to/platform/gfx/harfbuzz/src/ /path/to/platform/intl/icu/source/common/unicode/ /path/to/UCD-directory/
2022-06-23 08:55:09 +08:00
Job Bautista
291907ef3e Issue #326 - Part 1b: Remove outdated ENABLE_INTL_API code.
ENABLE_INTL_API has been removed since Issue #324.
2022-06-23 08:54:55 +08:00
Job Bautista
275ea2bcf5 Issue #326 - Part 1a: Update character property table generator script for Unicode 9, and adjust APIs to fit the new identifier-type property model
Backported from Mozilla bug 1281448.
2022-06-23 08:54:37 +08:00
Brian Smith
13fcc4a046 Issue #1829 - Revert "Issue #1751" 2022-05-04 09:40:24 +08:00
Moonchild
8d800b1cb0 Issue #21 - Remove Telemetry plumbing and fix build.
Note this won't give working applications. Requires FE changes and
additional js module changes (next part).
2022-04-28 10:25:48 +08:00
Moonchild
de7ec12f83 No issue - Minor performance improvement in BidiUtils 2022-03-22 23:02:58 +08:00
Moonchild
ba00d14c12 Issue #1751 - Remove Mac code behind MOZ_WIDGET_TOOLKIT == 'cocoa' 2021-06-24 11:09:47 +08:00
Moonchild
a4b0f333ba Issue #1751 -- Remove XP_MACOSX conditionals from the rest of the tree.
This also removes some PP abuse and takes file entries out of PP when no longer
needed without XP_MACOSX conditionals.
2021-05-07 09:53:59 +08:00
Moonchild
4651d97342 Issue #1756 - Clean up ICU patch.
We don't need ICU_UNUM_HAS_FORMATDOUBLEFORFIELDS because we don't support any
ICU other than the one in-tree.
2021-04-02 10:34:14 +08:00
Moonchild
5df0028108 Issue #1756 - Initial wrapped implementation in C++ 2021-04-02 10:34:10 +08:00
Moonchild
ebf2abb0e3 Update tzdata to 2021a
Because people are apparently never satisfied with the time zones on the planet!
2021-02-12 10:50:02 +08:00
Moonchild
9305760571 Issue #1656 - Part 9: Single-line-comment style. 2020-09-25 22:07:00 +08:00
Moonchild
d5919942ff Issue #1656 - Part 8: Devtools and misc. 2020-09-25 22:06:55 +08:00
Moonchild
0cd673d720 Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +08:00
Moonchild
8c395520d9 Issue #1656 - Part 1: Nuke most vim config lines in the tree.
Since these are just interpreted comments, there's 0 impact on actual code.
This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are
a few others scattered around which will be removed manually in a second part.
2020-09-25 22:04:12 +08:00
Matt A. Tobin
0e091cdb2e Issue #1053 - Remove android support from intl/locale/nsLocaleService.cpp
This is the only non-icu file with android code in it. Not going to remove android in icu its self because it remains a 3rd party lib.
2020-02-27 07:31:28 +08:00
athenian200
afb2e3a054 MoonchildProductions#1251 - Part 4: Core build system changes, lots of libevent/IPC junk.
This is mostly ifdefs, but as you can see, Solaris is actually a lot like Linux. They're both more SysV than BSD at core, and most of the differences have more to do with Solaris not using glibc than anything else.

I still need to audit a lot of these changes and understand why they're needed and what the alternative approaches are. After this patch, most of the core functionality needed to build Solaris is here.
2019-11-04 11:52:17 +08:00
wolfbeast
bca314ad02 No issue - Update TZ data to 2019c 2019-10-05 07:22:37 +08:00
wolfbeast
ec5e46dd1c Update tzdata resource files 2019-06-18 15:19:21 +08:00
wolfbeast
9efb78165c Update update-tzdata.sh to use git instead of svn, and not try to
auto-commit with hg.
2019-06-18 15:19:19 +08:00
wolfbeast
18688cb1bf Update ICU to 58.3
- This adds the new Japanese ascension era (Reiwa)
- This updates timezone data to 2019a
- Updated script for git instead of SVN
- Regenerated locale data
2019-06-18 15:19:13 +08:00
wolfbeast
8c8145e620 Remove all C++ Telemetry Accumulation calls.
This creates a number of stubs and leaves some surrounding code that may be irrelevant (eg. recorded time stamps, status variables).
Stub resolution/removal should be a follow-up to this.
2019-02-16 00:12:32 +08:00
JustOff
16820f40ac Refresh nsStringBundleService and nsHttpHandler when the browser locale is changed 2019-02-16 00:12:09 +08:00
NTD
276510c457 Clang needs a trailing new line in intl/hyphenation/glue/hnjstdio.cpp 2019-02-16 00:02:56 +08:00
André Bargull
dca3b936bf Update tzdata in ICU data files to 2018e. 2019-02-16 00:01:13 +08:00
wolfbeast
b88143e4be Update libhyphen's glue code to include overloads for fgetc() and feof().
Follow-up to 41cbe2d931d2742bb8dd6240eae9599e3bf3a512 to fix a crash regression.
This resolves #374.
2019-02-15 23:58:19 +08:00
wolfbeast
abd21e76ce Merge libhyphen fix from upstream. 2019-02-15 23:57:44 +08:00
wolfbeast
1aa30f609c Font fallback should detect emoji range for color emoji font. 2019-02-15 23:56:49 +08:00
wolfbeast
33a4b11c98 Add emoji presentation API 2019-02-15 23:56:43 +08:00
wolfbeast
f3ce7263ac Issue #325 Part 12: Manually edit Unicode property tables.
Although this is generated code, the #ifdefs in it are blockers.
!! Do not regenerate these files until the script has been updated !!
See #326.
2019-02-15 23:56:14 +08:00
wolfbeast
3f6fb7bb4a Issue #325 Part 6: Remove non-Intl legacy code paths from line-breaker code. 2019-02-15 23:56:04 +08:00
wolfbeast
4d5e597e5f Issue #325 Part 4: Remove obsolete and archaic Unicode normalization implementation. 2019-02-15 23:56:01 +08:00