RFR: 8269806: Emoji rendering on Linux [v10]
Nikita Gubarkov
duke at openjdk.org
Thu Jul 21 11:41:48 UTC 2022
> 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 13 commits:
- Merge master
- Optimize bitmap creation in GlyphRenderData
Get rid of unneeded abstract methods
Use SSIM for OutlineTextRendererEmoji test
- Fix pointer to long conversion
- Fix other CRLF
- Fix GlyphRenderData CRLF
- 8269806: Fix emoji, ZWJ, variation selectors and font fallback
Also implement unacached rendering of colored outlines and bitmap glyphs
- 8269806: Added emoji support for Windows
Also pass real glyph type from native code instead of guessing it by rowBytes & width
- Revert "8269806: Fix rendering of colored glyphs on big font sizes"
This reverts commit e8b1adab923c79a6dd7a5d0b6adfb634c56f67bb.
- 8269806: Fix rendering of colored glyphs on big font sizes
When using OutlineTextRenderer, fallback to GlyphListPipe for glyphs which doesn't have outlines.
- 8269806: Fix glyph advance rounding with FM=OFF
- ... and 3 more: https://git.openjdk.org/jdk/compare/799a2c84...71a6f346
-------------
Changes: https://git.openjdk.org/jdk/pull/4798/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=4798&range=09
Stats: 2505 lines in 54 files changed: 2068 ins; 140 del; 297 mod
Patch: https://git.openjdk.org/jdk/pull/4798.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/4798/head:pull/4798
PR: https://git.openjdk.org/jdk/pull/4798
More information about the client-libs-dev
mailing list