Files
UnrealEngineUWP/Engine/Source/Developer/SlateReflector
jamie dale 6bdb3390a0 Added support for rendering TTF/OTF fonts containing bitmaps, including color fonts (like Emoji)
Note: Bitmap fonts require FreeType 2.10, and support is compiled out if using an older version.

Font Rendering:
 - ApplySizeAndScale now computes the desired pixel size manually (using our desired DPI) rather than calling FT_Set_Char_Size.
   - This also includes the font scale, which avoids the call to FT_Set_Transform and lets us remove some workarounds for inconsistent scaling from FreeType.
   - For scalable fonts the desired pixel size is passed to FT_Set_Pixel_Sizes.
   - For bitmap fonts the desired pixel size is used to find the most suitable strike size (set via FT_Select_Size) and the ratio needed to scale that strike to the desired size (see GetBitmapAtlasScale and GetBitmapRenderScale).
 - AppendGlyphFlags has been updated to load color data (when available), and to only exclude bitmap data for fonts that also have scalable data.
 - FSlateFontRenderer::GetRenderDataInternal has been updated to handle color bitmap rendering (BGRA, sRGB) in addition to the existing grayscale rendering.
   - It will also handle scaling down bitmap font strikes that are larger than the desired size, which saves space in the atlas (see GetBitmapAtlasScale).
   - It won't scale up any bitmaps, as that is handled by the transform applied when batching the glyph quads for rendering (see GetBitmapRenderScale).
 - Added support for disabling outline and tint for bitmap fonts (in Slate and Canvas).
 - Added support for batching both grayscale (8-bit alpha-only) and color (8-bit per-channel BGRA) font quads from a font texture atlas (in RHI, D3D, and OpenGL).
 - Removed unused data from FCharacterRenderData.

#jira
#rb Matt.Kuhlenschmidt


#ROBOMERGE-SOURCE: CL 8177432 via CL 8197318
#ROBOMERGE-BOT: (v401-8057353)

[CL 8197520 by jamie dale in Main branch]
2019-08-21 17:23:59 -04:00
..