On Wed, 1 Feb 2023 16:10:51 GMT, Nikita Gubarkov <[email protected]> wrote:
>> It was implemented in JetBrains Runtime a year ago and was ported & >> refactored for this PR >> It includes: >> - Bitmap glyph loading via Freetype >> - Manual scaling & transformation of bitmap glyphs with nearest-neighbor or >> bilinear-mipmap style algorithms depending on the text antialiasing hint >> - Storing BGRA glyphs in glyph cache & rendering them as plain images, as >> currently used XRender text drawing functions doesn't support colored glyphs >> - Small fixes in related code like null-checks which could cause NPE & >> comment typos > > Nikita Gubarkov has updated the pull request with a new target base due to a > merge or a rebase. The pull request now contains 26 commits: > > - Dynamic loading of ftcolor.h symbols on Linux. > - Replace unicodeToUnits with Character.toChars in CCharToGlyphMapper > - Add braces to ifs. > - Make tests headful. > - Merge branch 'master' into JDK-8269806 > - Remove ftcolor.c > - Skip tests if required font is absent > - Fix pointer to jlong conversion on x86 > - Merge branch 'master' into JDK-8269806 > - Merge branch 'master' into JDK-8269806 > - ... and 16 more: https://git.openjdk.org/jdk/compare/60c535de...57c0b57d New update: - Composite fonts can now be nested, holding list of Font2Ds instead of PhysicalFonts. This gives more flexibility for implementing complex font fallback approaches and is necessary to implement proper emoji+VS fallback on Windows. Glyph code encoding was changed to support this, previously glyph code occupied 24 low bits and slot was encoded in 8 high bits, now slot is encoded in low bits instead (number of bits is dynamic) and glyph code is shifted, which allows stacking of glyph codes for nested composite mappers. - Removed Windows fontconfig hacks in favor of the new EmojiFont. - Refactored charsToGlyphs & charsToGlyphsNS copy-paste in mapper classes. - Moved emoji tests to separate directory. ------------- PR Comment: https://git.openjdk.org/jdk/pull/4798#issuecomment-1497556549
