Add support for rendering characters from unicode supplementary planes
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 12.4k
- Forks
- 2.4k
- PR merge metrics
- No merged PRs in 30d
Description
Migrated from https://github.com/mapbox/DEPRECATED-mapbox-gl/issues/29
> @lucaswoj:
> We currently only support rendering characters from the [Basic Multilingual Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane). We may need to support supplementary planes as we expand into markets that use non-Latin alphabets.
> > https://en.wikipedia.org/wiki/CJK_Unified_Ideographs#CJK_Unified_Ideographs_Extension_E notes that 98 of those characters come from “Chinese Academy of Surveying and Mapping ideographs”, so they probably will be cropping up in OSM eventually. -- @1ec5
>
> ----
>
> @1ec5:
> I'm satisfied that the CJK Unified Ideographs Extension E characters will take awhile to make their way into OpenStreetMap, given that the block was only introduced to Unicode last year. However, note that the same work that goes into CJK E would also enable (colorless) emoji. Hopefully that’ll give this issue a bit more traction. 😉
>
> ---
>
> @1ec5
> My mistake: CJK E isn’t the only CJK block that’s in the Supplementary Ideographic Plane; CJK Unified Ideographs Extension B–D are also up there. Besides historical and Vietnamese characters, CJK B includes 1,702 characters from the Hong Kong Supplementary Character Set, which apparently includes a lot of Cantonese characters used in official Hong Kong place names.
>
> ----
> @1ec5:
> As of Unicode 9.0, the following astral-plane blocks allow ideographic breaking:
> - Meroitic Hieroglyphs
> - Egyptian Hieroglyphs
> - Anatolian Hieroglyphs
> - Ideographic Symbols and Punctuation
> - Tangut
> - Tangut Components
> - Kana Supplement
> - Tai Xuan Jing Symbols
> - Counting Rod Numerals
> - Mahjong Tiles
> - Domino Tiles
> - Playing Cards
> - Enclosed Alphanumeric Supplement
> - Enclosed Ideographic Supplement
> - Miscellaneous Symbols and Pictographs
> - Emoticons
> - Ornamental Dingbats
> - Transport and Map Symbols
> - Alchemical Symbols
> - Geometric Shapes Extended
> - Supplemental Symbols and Pictographs
> - CJK Unified Ideographs Extension B
> - CJK Unified Ideographs Extension C
> - CJK Unified Ideographs Extension D
> - CJK Unified Ideographs Extension E
> - CJK Compatibility Ideographs Supplement
>
> As of Unicode 9.0 and [revision 16 of UTR #50](http://www.unicode.org/reports/tr50/proposed.html), the following astral-plane blocks have upright vertical orientation:
> - Meroitic Hieroglyphs
> - Siddham
> - Egyptian Hieroglyphs
> - Anatolian Hieroglyphs
> - Ideographic Symbols and Punctuation
> - Tangut
> - Tangut Components
> - Kana Supplement
> - Byzantine Musical Symbols
> - Musical Symbols
> - Tai Xuan Jing Symbols
> - Counting Rod Numerals
> - Sutton SignWriting
> - Mahjong Tiles
> - Domino Tiles
> - Playing Cards
> - Enclosed Alphanumeric Supplement
> - Enclosed Ideographic Supplement
> - Miscellaneous Symbols and Pictographs
> - Emoticons
> - Ornamental Dingbats
> - Transport and Map Symbols
> - Alchemical Symbols
> - Geometric Shapes Extended
> - Supplemental Symbols and Pictographs
> - CJK Unified Ideographs Extension B
> - CJK Unified Ideographs Extension C
> - CJK Unified Ideographs Extension D
> - CJK Unified Ideographs Extension E
> - CJK Compatibility Ideographs Supplement
>
> The following astral-plane blocks have neutral vertical orientation:
> - Supplementary Private Use Area-A
> - Supplementary Private Use Area-B
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by locating the existing Basic Multilingual Plane text-rendering path and determine how supplementary Unicode characters are represented and processed; done means characters from the listed astral-plane blocks render correctly, including CJK characters and emoji.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- computer-graphics, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100