mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-20 23:37:33 +09:00
Font fallback should detect emoji range for color emoji font.
This commit is contained in:
parent
826e420144
commit
1aa30f609c
6 changed files with 47 additions and 50 deletions
|
|
@ -18,6 +18,7 @@
|
|||
#include "nsTArray.h"
|
||||
#include "mozilla/Preferences.h"
|
||||
#include "mozilla/VsyncDispatcher.h"
|
||||
#include "nsUnicodeProperties.h"
|
||||
#include "qcms.h"
|
||||
#include "gfx2DGlue.h"
|
||||
|
||||
|
|
@ -29,6 +30,7 @@
|
|||
|
||||
using namespace mozilla;
|
||||
using namespace mozilla::gfx;
|
||||
using namespace mozilla::unicode;
|
||||
|
||||
// cribbed from CTFontManager.h
|
||||
enum {
|
||||
|
|
@ -195,23 +197,24 @@ gfxPlatformMac::GetCommonFallbackFonts(uint32_t aCh, uint32_t aNextCh,
|
|||
Script aRunScript,
|
||||
nsTArray<const char*>& aFontList)
|
||||
{
|
||||
if (aNextCh == 0xfe0f) {
|
||||
aFontList.AppendElement(kFontAppleColorEmoji);
|
||||
EmojiPresentation emoji = GetEmojiPresentation(aCh);
|
||||
if (emoji != EmojiPresentation::TextOnly) {
|
||||
if (aNextCh == kVariationSelector16 ||
|
||||
(aNextCh != kVariationSelector15 &&
|
||||
emoji == EmojiPresentation::EmojiDefault)) {
|
||||
// if char is followed by VS16, try for a color emoji glyph
|
||||
aFontList.AppendElement(kFontAppleColorEmoji);
|
||||
}
|
||||
}
|
||||
|
||||
aFontList.AppendElement(kFontLucidaGrande);
|
||||
|
||||
if (!IS_IN_BMP(aCh)) {
|
||||
uint32_t p = aCh >> 16;
|
||||
uint32_t b = aCh >> 8;
|
||||
if (p == 1) {
|
||||
if (b >= 0x1f0 && b < 0x1f7) {
|
||||
aFontList.AppendElement(kFontAppleColorEmoji);
|
||||
} else {
|
||||
aFontList.AppendElement(kFontAppleSymbols);
|
||||
aFontList.AppendElement(kFontSTIXGeneral);
|
||||
aFontList.AppendElement(kFontGeneva);
|
||||
}
|
||||
aFontList.AppendElement(kFontAppleSymbols);
|
||||
aFontList.AppendElement(kFontSTIXGeneral);
|
||||
aFontList.AppendElement(kFontGeneva);
|
||||
} else if (p == 2) {
|
||||
// OSX installations with MS Office may have these fonts
|
||||
aFontList.AppendElement(kFontMingLiUExtB);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue