diff --git a/images/emoji-sheet-32.webp b/images/emoji-sheet-32.webp index 7cc9586988..7bb335c86d 100644 Binary files a/images/emoji-sheet-32.webp and b/images/emoji-sheet-32.webp differ diff --git a/images/emoji-sheet-64.webp b/images/emoji-sheet-64.webp index 0aabfb2bec..7c849883cd 100644 Binary files a/images/emoji-sheet-64.webp and b/images/emoji-sheet-64.webp differ diff --git a/package.json b/package.json index f941434740..07d456d547 100644 --- a/package.json +++ b/package.json @@ -102,8 +102,8 @@ "build:release-win32-all": "pnpm run build:release --arm64 --x64", "build:preload-cache": "node ts/scripts/generate-preload-cache.node.js", "build:emoji": "run-p build:emoji:32 build:emoji:64", - "build:emoji:32": "cwebp -progress -mt -preset icon -alpha_filter best -alpha_q 20 -pass 10 -q 75 ./node_modules/emoji-datasource-apple/img/apple/sheets-clean/32.png -o ./images/emoji-sheet-32.webp", - "build:emoji:64": "cwebp -progress -mt -preset icon -alpha_filter best -alpha_q 20 -pass 10 -q 75 ./node_modules/emoji-datasource-apple/img/apple/sheets-clean/64.png -o ./images/emoji-sheet-64.webp", + "build:emoji:32": "cwebp -progress -mt -preset icon -alpha_filter best -alpha_q 20 -pass 10 -q 75 ./node_modules/emoji-datasource-apple/img/apple/sheets/32.png -o ./images/emoji-sheet-32.webp", + "build:emoji:64": "cwebp -progress -mt -preset icon -alpha_filter best -alpha_q 20 -pass 10 -q 75 ./node_modules/emoji-datasource-apple/img/apple/sheets/64.png -o ./images/emoji-sheet-64.webp", "verify": "run-p --print-label verify:*", "verify:ts": "tsc --noEmit", "electron:install-app-deps": "electron-builder install-app-deps", diff --git a/ts/components/fun/data/emojis.std.ts b/ts/components/fun/data/emojis.std.ts index 14ee2c38ed..9029830e2f 100644 --- a/ts/components/fun/data/emojis.std.ts +++ b/ts/components/fun/data/emojis.std.ts @@ -406,6 +406,9 @@ function addVariant(parentKey: EmojiParentKey, variant: EmojiVariantData) { } for (const rawEmoji of RAW_EMOJI_DATA) { + if (!rawEmoji.has_img_apple) { + continue; + } const parentKey = toEmojiParentKey(rawEmoji.unified); const defaultVariant: EmojiVariantData = { @@ -426,6 +429,9 @@ for (const rawEmoji of RAW_EMOJI_DATA) { const map = new Map(); for (const [key, value] of Object.entries(rawEmoji.skin_variations)) { + if (!value.has_img_apple) { + continue; + } const variantKey = toEmojiVariantKey(value.unified); map.set(key, variantKey); diff --git a/ts/components/fun/useFunEmojiLocalizer.dom.tsx b/ts/components/fun/useFunEmojiLocalizer.dom.tsx index 067c23e552..3bb3284ced 100644 --- a/ts/components/fun/useFunEmojiLocalizer.dom.tsx +++ b/ts/components/fun/useFunEmojiLocalizer.dom.tsx @@ -9,7 +9,6 @@ import { isEmojiVariantValue, } from './data/emojis.std.js'; import type { LocaleEmojiListType } from '../../types/emoji.std.js'; -import { strictAssert } from '../../util/assert.std.js'; import { useFunEmojiLocalization } from './FunEmojiLocalizationProvider.dom.js'; export type FunEmojiLocalizerIndex = Readonly<{ @@ -30,10 +29,10 @@ export function createFunEmojiLocalizerIndex( const localeShortNameToParentKey = new Map(); for (const entry of localeEmojiList) { - strictAssert( - isEmojiVariantValue(entry.emoji), - 'createFunEmojiLocalizerIndex: Must be emoji variant value' - ); + // Sadly some localized emoji are not present in our spritesheets + if (!isEmojiVariantValue(entry.emoji)) { + continue; + } const variantKey = getEmojiVariantKeyByValue(entry.emoji); const parentKey = getEmojiParentKeyByVariantKey(variantKey);