-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Render complex text, variant forms, emoji, etc. #1
base: astral-cjk
Are you sure you want to change the base?
Commits on Aug 27, 2024
-
Render complex text, variant forms, emoji, other grapheme clusters
Segment strings by grapheme cluster instead of by character when shaping and rendering text. Store glyphs, glyph requests, and glyph positions by grapheme cluster instead of by codepoint string. Added a simple polyfill for older versions of Firefox.
Configuration menu - View commit details
-
Copy full SHA for ddc937c - Browse repository at this point
Copy the full SHA ddc937cView commit details -
Configuration menu - View commit details
-
Copy full SHA for c5da043 - Browse repository at this point
Copy the full SHA c5da043View commit details -
Configuration menu - View commit details
-
Copy full SHA for b451fd6 - Browse repository at this point
Copy the full SHA b451fd6View commit details -
Increased the buffer around locally rendered glyphs.
Configuration menu - View commit details
-
Copy full SHA for a779668 - Browse repository at this point
Copy the full SHA a779668View commit details -
Removed hard-coded fudge factors based on the baseline in Arial Unicode MS.
Configuration menu - View commit details
-
Copy full SHA for f178331 - Browse repository at this point
Copy the full SHA f178331View commit details -
Configuration menu - View commit details
-
Copy full SHA for 967ded7 - Browse repository at this point
Copy the full SHA 967ded7View commit details -
Configuration menu - View commit details
-
Copy full SHA for e53e7a0 - Browse repository at this point
Copy the full SHA e53e7a0View commit details
Commits on Sep 7, 2024
-
Join grapheme clusters on combining marks, invisible stackers
If a grapheme cluster begins with a combining diacritical mark or ends with an invisible stacker, combine it with an adjacent grapheme cluster to avoid drawing diacritics over dotted circles or placeholder diacritics where adjacent characters should be ligated instead.
Configuration menu - View commit details
-
Copy full SHA for fccc74a - Browse repository at this point
Copy the full SHA fccc74aView commit details -
Generate Unicode character property data at build time
Added a script that fetches the latest Unicode character database’s property file for Indic syllable categories and generates a function for combining graphemes based on it.
Configuration menu - View commit details
-
Copy full SHA for 9600223 - Browse repository at this point
Copy the full SHA 9600223View commit details -
Configuration menu - View commit details
-
Copy full SHA for 23d7dc6 - Browse repository at this point
Copy the full SHA 23d7dc6View commit details -
Replace zero-width joiners with temporary strip markers to prevent ICU from stripping them.
Configuration menu - View commit details
-
Copy full SHA for 79f9fe2 - Browse repository at this point
Copy the full SHA 79f9fe2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3cb401c - Browse repository at this point
Copy the full SHA 3cb401cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2590574 - Browse repository at this point
Copy the full SHA 2590574View commit details -
Fixed combining right-to-left characters
Preemptively swap combining marks with the characters they modify to visual order, so that the RTL plugin will swap them back to logical order.
Configuration menu - View commit details
-
Copy full SHA for 7c49df9 - Browse repository at this point
Copy the full SHA 7c49df9View commit details -
Configuration menu - View commit details
-
Copy full SHA for e4177a3 - Browse repository at this point
Copy the full SHA e4177a3View commit details -
Break lines based on word segmentation
Replaced custom word break heuristics when determining line breaks with a word segmenter. Added a simple polyfill for older versions of Firefox.
Configuration menu - View commit details
-
Copy full SHA for 872625f - Browse repository at this point
Copy the full SHA 872625fView commit details -
Fixed an issue where vertical CJK text was shifted upwards by one em.
Configuration menu - View commit details
-
Copy full SHA for d5597ac - Browse repository at this point
Copy the full SHA d5597acView commit details -
Fixed error rendering Burmese text
Iterate over graphemes instead of words, looking for word boundaries to use as line breaking opportunities. This eliminates the possibility of word-wrapping in the middle of a grapheme cluster, which is valid in some writing systems such as Thai, but mitigates the risk of an invalid section index in Burmese, because the word segmenter considers some modifiers to be “words”.
Configuration menu - View commit details
-
Copy full SHA for b3b7359 - Browse repository at this point
Copy the full SHA b3b7359View commit details