Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

U16 #486

Merged
merged 5 commits into from
Oct 3, 2024
Merged

U16 #486

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ __pycache__/
waveflag
build/
venv/
emojicompat/
99 changes: 40 additions & 59 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,65 +2,46 @@

Typically build the CBDT then the COLRv1 as COLRv1 copies some information from CBDT.

## CBDT
## Is this a Unicode rev?

* Update https://github.com/notofonts/nototools, publish the new version
* Must be done by a Googler. See internal instructions.
* Update emojicompat
* https://github.com/googlefonts/emojicompat?tab=readme-ov-file#support-new-unicode-sequences
* Update artwork
* Must be done by a Googler. Work with the emoji design team using internal instructions.

## Update version

Edit `NotoColorEmoji.tmpl.ttx.tmpl`
* In `<head>` find `fontRevision`.
* It should be of the form 2.xxx
* Increment xxx by 1
* In `<name>` find `<namerecord nameID="5" platformID="3" platEncID="1"
langID="0x409">`
* It should look like `Version
2.017;GOOG;noto-emoji:20180810:f1da3bc656f9`
* Update Version to match `<head>` (`Version 2.017` in the example)
* Update the date (`20180810` in the example)
* Update the commit

## Update new flags

* Add new flags to list in Makefile ([example](https://github.com/googlefonts/noto-emoji-next/commit/21bdd6107fac60979737ac95c2655cb02824d144))
* Update `third_party/region-flags`. For example, for CQ (Sark) update:
* `third_party/region-flags/png/CQ.png`
* This file can be highres, it will be resized by the CBDT build process
* This file should have the proportions of the flag
* `third_party/region-flags/svg/CQ.svg`
* This file is *not* required to have the `0 0 128 128` viewbox files in `/svg` have to have
* `third_party/region-flags/waved-svg/emoji_u1f1e8_1f1f6.svg`
* This file is produced using https://github.com/rsheeter/warp
* New flags are added to `wave_list.txt`
* To wave only the new flag delete other entries locally

## Rebuild the fonts

```bash
rm -rf venv # in case you have an old borked venv!
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python size_check.py
rm -rf build/ && time make -j 48
# Should take 2-3 minutes to create noto-emoji/NotoColorEmoji.ttf

mv *.ttf fonts/
```

## COLRv1

```bash
# If you are updating to a new Unicode rev, update configs
python colrv1_generate_configs.py
git diff colrv1/*.toml

# Compile the fonts
(cd colrv1 && rm -rf build/ && time nanoemoji *.toml)
cp colrv1/build/NotoColorEmoji.ttf fonts/Noto-COLRv1.ttf
cp colrv1/build/NotoColorEmoji-noflags.ttf fonts/Noto-COLRv1-noflags.ttf

# Post-process them
python colrv1_postproc.py
```

## Emojicompat

```
# Add support for new sequences per https://github.com/googlefonts/emojicompat#support-new-unicode-sequences
# Install https://github.com/googlefonts/emojicompat in a venv
# Create emojicompat versions of the fonts you made
# Starting from the root of noto-emoji-next:

$ pushd fonts
$ cp NotoColorEmoji.ttf NotoColorEmoji-emojicompat.ttf
$ cp Noto-COLRv1.ttf Noto-COLRv1-emojicompat.ttf
$ emojicompat --op setup --font NotoColorEmoji-emojicompat.ttf
$ emojicompat --op setup --font Noto-COLRv1-emojicompat.ttf
$ emojicompat --op check --font NotoColorEmoji-emojicompat.ttf
$ emojicompat --op check --font Noto-COLRv1-emojicompat.ttf

# The emojicompat --op check step should print something akin to:
3835 items_by_codepoints
0 PUA missing
0 PUA point at wrong glyph
3835 PUA correct
0 Emji entries did NOT match a glyph
# Build CBDT, COLR, flags-only, and emojicompat fonts
$ ./full_rebuild.sh
```

## Flags only

```bash
$ hb-subset --unicodes-file=flags-only-unicodes.txt \
--output-file=fonts/NotoColorEmoji-flagsonly.ttf \
fonts/NotoColorEmoji.ttf
$ python update_flag_name.py
```
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ COMPRESSED_DIR := $(BUILD_DIR)/compressed_pngs
LIMITED_FLAGS = CN DE ES FR GB IT JP KR RU US
SELECTED_FLAGS = AC AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ \
BA BB BD BE BF BG BH BI BJ BL BM BN BO BQ BR BS BT BW BY BZ \
CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ \
CA CC CD CF CG CH CI CK CL CM CN CO CQ CR CU CV CW CX CY CZ \
DE DJ DK DM DO DZ \
EC EE EG EH ER ES ET EU \
FI FJ FK FM FO FR \
Expand Down
4 changes: 2 additions & 2 deletions NotoColorEmoji.tmpl.ttx.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
<head>
<!-- Most of this table will be recalculated by the compiler -->
<tableVersion value="1.0"/>
<fontRevision value="2.042"/>
<fontRevision value="2.047"/>
<checkSumAdjustment value="0x4d5a161a"/>
<magicNumber value="0x5f0f3cf5"/>
<flags value="00000000 00001011"/>
Expand Down Expand Up @@ -246,7 +246,7 @@
Noto Color Emoji
</namerecord>
<namerecord nameID="5" platformID="3" platEncID="1" langID="0x409">
Version 2.042;GOOG;noto-emoji:20231129:7f49a00d523ae5f94e52fd9f9a39bac9cf65f958
Version 2.047;GOOG;noto-emoji:20240827:6c211821b8442ab3683a502f9a79b2034293fced
</namerecord>
<namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
NotoColorEmoji
Expand Down
8 changes: 8 additions & 0 deletions colrv1/all.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3207,6 +3207,8 @@ srcs = [
"../svg/emoji_u1fa86.svg",
"../svg/emoji_u1fa87.svg",
"../svg/emoji_u1fa88.svg",
"../svg/emoji_u1fa89.svg",
"../svg/emoji_u1fa8f.svg",
"../svg/emoji_u1fa90.svg",
"../svg/emoji_u1fa91.svg",
"../svg/emoji_u1fa92.svg",
Expand Down Expand Up @@ -3253,6 +3255,7 @@ srcs = [
"../svg/emoji_u1fabb.svg",
"../svg/emoji_u1fabc.svg",
"../svg/emoji_u1fabd.svg",
"../svg/emoji_u1fabe.svg",
"../svg/emoji_u1fabf.svg",
"../svg/emoji_u1fac0.svg",
"../svg/emoji_u1fac1.svg",
Expand All @@ -3275,6 +3278,7 @@ srcs = [
"../svg/emoji_u1fac5_1f3fd.svg",
"../svg/emoji_u1fac5_1f3fe.svg",
"../svg/emoji_u1fac5_1f3ff.svg",
"../svg/emoji_u1fac6.svg",
"../svg/emoji_u1face.svg",
"../svg/emoji_u1facf.svg",
"../svg/emoji_u1fad0.svg",
Expand All @@ -3289,6 +3293,8 @@ srcs = [
"../svg/emoji_u1fad9.svg",
"../svg/emoji_u1fada.svg",
"../svg/emoji_u1fadb.svg",
"../svg/emoji_u1fadc.svg",
"../svg/emoji_u1fadf.svg",
"../svg/emoji_u1fae0.svg",
"../svg/emoji_u1fae1.svg",
"../svg/emoji_u1fae2.svg",
Expand All @@ -3298,6 +3304,7 @@ srcs = [
"../svg/emoji_u1fae6.svg",
"../svg/emoji_u1fae7.svg",
"../svg/emoji_u1fae8.svg",
"../svg/emoji_u1fae9.svg",
"../svg/emoji_u1faf0.svg",
"../svg/emoji_u1faf0_1f3fb.svg",
"../svg/emoji_u1faf0_1f3fc.svg",
Expand Down Expand Up @@ -3638,6 +3645,7 @@ srcs = [
"../third_party/region-flags/waved-svg/emoji_u1f1e8_1f1f3.svg",
"../third_party/region-flags/waved-svg/emoji_u1f1e8_1f1f4.svg",
"../third_party/region-flags/waved-svg/emoji_u1f1e8_1f1f5.svg",
"../third_party/region-flags/waved-svg/emoji_u1f1e8_1f1f6.svg",
"../third_party/region-flags/waved-svg/emoji_u1f1e8_1f1f7.svg",
"../third_party/region-flags/waved-svg/emoji_u1f1e8_1f1fa.svg",
"../third_party/region-flags/waved-svg/emoji_u1f1e8_1f1fb.svg",
Expand Down
7 changes: 7 additions & 0 deletions colrv1/noflags.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3181,6 +3181,8 @@ srcs = [
"../svg/emoji_u1fa86.svg",
"../svg/emoji_u1fa87.svg",
"../svg/emoji_u1fa88.svg",
"../svg/emoji_u1fa89.svg",
"../svg/emoji_u1fa8f.svg",
"../svg/emoji_u1fa90.svg",
"../svg/emoji_u1fa91.svg",
"../svg/emoji_u1fa92.svg",
Expand Down Expand Up @@ -3227,6 +3229,7 @@ srcs = [
"../svg/emoji_u1fabb.svg",
"../svg/emoji_u1fabc.svg",
"../svg/emoji_u1fabd.svg",
"../svg/emoji_u1fabe.svg",
"../svg/emoji_u1fabf.svg",
"../svg/emoji_u1fac0.svg",
"../svg/emoji_u1fac1.svg",
Expand All @@ -3249,6 +3252,7 @@ srcs = [
"../svg/emoji_u1fac5_1f3fd.svg",
"../svg/emoji_u1fac5_1f3fe.svg",
"../svg/emoji_u1fac5_1f3ff.svg",
"../svg/emoji_u1fac6.svg",
"../svg/emoji_u1face.svg",
"../svg/emoji_u1facf.svg",
"../svg/emoji_u1fad0.svg",
Expand All @@ -3263,6 +3267,8 @@ srcs = [
"../svg/emoji_u1fad9.svg",
"../svg/emoji_u1fada.svg",
"../svg/emoji_u1fadb.svg",
"../svg/emoji_u1fadc.svg",
"../svg/emoji_u1fadf.svg",
"../svg/emoji_u1fae0.svg",
"../svg/emoji_u1fae1.svg",
"../svg/emoji_u1fae2.svg",
Expand All @@ -3272,6 +3278,7 @@ srcs = [
"../svg/emoji_u1fae6.svg",
"../svg/emoji_u1fae7.svg",
"../svg/emoji_u1fae8.svg",
"../svg/emoji_u1fae9.svg",
"../svg/emoji_u1faf0.svg",
"../svg/emoji_u1faf0_1f3fb.svg",
"../svg/emoji_u1faf0_1f3fc.svg",
Expand Down
Binary file modified fonts/Noto-COLRv1-emojicompat.ttf
Binary file not shown.
Binary file modified fonts/Noto-COLRv1-noflags.ttf
Binary file not shown.
Binary file modified fonts/Noto-COLRv1.ttf
Binary file not shown.
Binary file modified fonts/NotoColorEmoji-emojicompat.ttf
Binary file not shown.
Binary file modified fonts/NotoColorEmoji-flagsonly.ttf
Binary file not shown.
Binary file modified fonts/NotoColorEmoji-noflags.ttf
Binary file not shown.
Binary file modified fonts/NotoColorEmoji.ttf
Binary file not shown.
Binary file modified fonts/NotoColorEmoji_WindowsCompatible.ttf
Binary file not shown.
60 changes: 60 additions & 0 deletions full_rebuild.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#!/usr/bin/env bash

set -e
set -v

# We have to have hb-subset on PATH
which hb-subset

# Build the CBDT font

rm -rf venv # in case you have an old borked venv!
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

rm -rf emojicompat
git clone [email protected]:googlefonts/emojicompat.git
pip install emojicompat/

# Validation
python size_check.py
rm -rf build/ && time make -j 48
# Should take 2-3 minutes to create noto-emoji/NotoColorEmoji.ttf

mv *.ttf fonts/

# make noflags CBDT font
rm fonts/NotoColorEmoji-noflags.ttf
python drop_flags.py fonts/NotoColorEmoji.ttf

# Build the COLRv1 font (slow)

python colrv1_generate_configs.py
git diff colrv1/*.toml

# Compile the fonts
# Should take ~20 minutes
(cd colrv1 && rm -rf build/ && time nanoemoji *.toml)
cp colrv1/build/NotoColorEmoji.ttf fonts/Noto-COLRv1.ttf
cp colrv1/build/NotoColorEmoji-noflags.ttf fonts/Noto-COLRv1-noflags.ttf

# Post-process them
python colrv1_postproc.py

# Produce emojicompat variants
# Add support for new sequences per https://github.com/googlefonts/emojicompat#support-new-unicode-sequences

pushd fonts
cp NotoColorEmoji.ttf NotoColorEmoji-emojicompat.ttf
cp Noto-COLRv1.ttf Noto-COLRv1-emojicompat.ttf
emojicompat --op setup --font NotoColorEmoji-emojicompat.ttf
emojicompat --op setup --font Noto-COLRv1-emojicompat.ttf
emojicompat --op check --font NotoColorEmoji-emojicompat.ttf
emojicompat --op check --font Noto-COLRv1-emojicompat.ttf
popd

hb-subset --unicodes-file=flags-only-unicodes.txt \
--output-file=fonts/NotoColorEmoji-flagsonly.ttf \
fonts/NotoColorEmoji.ttf
python update_flag_name.py
Binary file modified png/128/emoji_u1f442.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f442_1f3fb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f442_1f3fc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f442_1f3fd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f442_1f3fe.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f442_1f3ff.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f443.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f443_1f3fb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f443_1f3fc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f443_1f3fd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f443_1f3fe.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f443_1f3ff.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f446.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f446_1f3fb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f446_1f3fc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f446_1f3fd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f446_1f3fe.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f446_1f3ff.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f447.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f447_1f3fb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f447_1f3fc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f447_1f3fd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f447_1f3fe.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f447_1f3ff.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f448.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified png/128/emoji_u1f448_1f3fb.png
Binary file modified png/128/emoji_u1f448_1f3fc.png
Binary file modified png/128/emoji_u1f448_1f3fd.png
Binary file modified png/128/emoji_u1f448_1f3fe.png
Binary file modified png/128/emoji_u1f448_1f3ff.png
Binary file modified png/128/emoji_u1f449.png
Binary file modified png/128/emoji_u1f449_1f3fb.png
Binary file modified png/128/emoji_u1f449_1f3fc.png
Binary file modified png/128/emoji_u1f449_1f3fd.png
Binary file modified png/128/emoji_u1f449_1f3fe.png
Binary file modified png/128/emoji_u1f449_1f3ff.png
Binary file modified png/128/emoji_u1f44a.png
Binary file modified png/128/emoji_u1f44a_1f3fb.png
Binary file modified png/128/emoji_u1f44a_1f3fc.png
Binary file modified png/128/emoji_u1f44a_1f3fd.png
Binary file modified png/128/emoji_u1f44a_1f3fe.png
Binary file modified png/128/emoji_u1f44a_1f3ff.png
Binary file modified png/128/emoji_u1f44b.png
Binary file modified png/128/emoji_u1f44b_1f3fb.png
Binary file modified png/128/emoji_u1f44b_1f3fc.png
Binary file modified png/128/emoji_u1f44b_1f3fd.png
Binary file modified png/128/emoji_u1f44b_1f3fe.png
Binary file modified png/128/emoji_u1f44b_1f3ff.png
Binary file modified png/128/emoji_u1f44c.png
Binary file modified png/128/emoji_u1f44c_1f3fb.png
Binary file modified png/128/emoji_u1f44c_1f3fc.png
Binary file modified png/128/emoji_u1f44c_1f3fd.png
Binary file modified png/128/emoji_u1f44c_1f3fe.png
Binary file modified png/128/emoji_u1f44c_1f3ff.png
Binary file modified png/128/emoji_u1f44d.png
Binary file modified png/128/emoji_u1f44d_1f3fb.png
Binary file modified png/128/emoji_u1f44d_1f3fc.png
Binary file modified png/128/emoji_u1f44d_1f3fd.png
Binary file modified png/128/emoji_u1f44d_1f3fe.png
Binary file modified png/128/emoji_u1f44d_1f3ff.png
Binary file modified png/128/emoji_u1f44e.png
Binary file modified png/128/emoji_u1f44e_1f3fb.png
Binary file modified png/128/emoji_u1f44e_1f3fc.png
Binary file modified png/128/emoji_u1f44e_1f3fd.png
Binary file modified png/128/emoji_u1f44e_1f3fe.png
Binary file modified png/128/emoji_u1f44e_1f3ff.png
Binary file modified png/128/emoji_u1f44f.png
Binary file modified png/128/emoji_u1f44f_1f3fb.png
Binary file modified png/128/emoji_u1f44f_1f3fc.png
Binary file modified png/128/emoji_u1f44f_1f3fd.png
Binary file modified png/128/emoji_u1f44f_1f3fe.png
Binary file modified png/128/emoji_u1f44f_1f3ff.png
Binary file modified png/128/emoji_u1f450.png
Binary file modified png/128/emoji_u1f450_1f3fb.png
Binary file modified png/128/emoji_u1f450_1f3fc.png
Binary file modified png/128/emoji_u1f450_1f3fd.png
Binary file modified png/128/emoji_u1f450_1f3fe.png
Binary file modified png/128/emoji_u1f450_1f3ff.png
Binary file modified png/128/emoji_u1f485.png
Binary file modified png/128/emoji_u1f485_1f3fb.png
Binary file modified png/128/emoji_u1f485_1f3fc.png
Binary file modified png/128/emoji_u1f485_1f3fd.png
Binary file modified png/128/emoji_u1f485_1f3fe.png
Binary file modified png/128/emoji_u1f485_1f3ff.png
Binary file modified png/128/emoji_u1f4aa.png
Binary file modified png/128/emoji_u1f4aa_1f3fb.png
Binary file modified png/128/emoji_u1f4aa_1f3fc.png
Binary file modified png/128/emoji_u1f4aa_1f3fd.png
Binary file modified png/128/emoji_u1f4aa_1f3fe.png
Binary file modified png/128/emoji_u1f4aa_1f3ff.png
Binary file modified png/128/emoji_u1f590.png
Binary file modified png/128/emoji_u1f590_1f3fb.png
Binary file modified png/128/emoji_u1f590_1f3fc.png
Binary file modified png/128/emoji_u1f590_1f3fd.png
Binary file modified png/128/emoji_u1f590_1f3fe.png
Binary file modified png/128/emoji_u1f590_1f3ff.png
Binary file modified png/128/emoji_u1f595.png
Binary file modified png/128/emoji_u1f595_1f3fb.png
Binary file modified png/128/emoji_u1f595_1f3fc.png
Binary file modified png/128/emoji_u1f595_1f3fd.png
Binary file modified png/128/emoji_u1f595_1f3fe.png
Binary file modified png/128/emoji_u1f595_1f3ff.png
Binary file modified png/128/emoji_u1f596.png
Binary file modified png/128/emoji_u1f596_1f3fb.png
Binary file modified png/128/emoji_u1f596_1f3fc.png
Binary file modified png/128/emoji_u1f596_1f3fd.png
Binary file modified png/128/emoji_u1f596_1f3fe.png
Binary file modified png/128/emoji_u1f596_1f3ff.png
Binary file modified png/128/emoji_u1f64c.png
Binary file modified png/128/emoji_u1f64c_1f3fb.png
Binary file modified png/128/emoji_u1f64c_1f3fc.png
Binary file modified png/128/emoji_u1f64c_1f3fd.png
Binary file modified png/128/emoji_u1f64c_1f3fe.png
Binary file modified png/128/emoji_u1f64c_1f3ff.png
Binary file modified png/128/emoji_u1f64f.png
Binary file modified png/128/emoji_u1f64f_1f3fb.png
Binary file modified png/128/emoji_u1f64f_1f3fc.png
Binary file modified png/128/emoji_u1f64f_1f3fd.png
Binary file modified png/128/emoji_u1f64f_1f3fe.png
Binary file modified png/128/emoji_u1f64f_1f3ff.png
Binary file modified png/128/emoji_u1f90c.png
Binary file modified png/128/emoji_u1f90c_1f3fb.png
Binary file modified png/128/emoji_u1f90c_1f3fc.png
Binary file modified png/128/emoji_u1f90c_1f3fd.png
Binary file modified png/128/emoji_u1f90c_1f3fe.png
Binary file modified png/128/emoji_u1f90c_1f3ff.png
Binary file modified png/128/emoji_u1f90f.png
Binary file modified png/128/emoji_u1f90f_1f3fb.png
Binary file modified png/128/emoji_u1f90f_1f3fc.png
Binary file modified png/128/emoji_u1f90f_1f3fd.png
Binary file modified png/128/emoji_u1f90f_1f3fe.png
Binary file modified png/128/emoji_u1f90f_1f3ff.png
Binary file modified png/128/emoji_u1f918.png
Binary file modified png/128/emoji_u1f918_1f3fb.png
Binary file modified png/128/emoji_u1f918_1f3fc.png
Binary file modified png/128/emoji_u1f918_1f3fd.png
Binary file modified png/128/emoji_u1f918_1f3fe.png
Binary file modified png/128/emoji_u1f918_1f3ff.png
Binary file modified png/128/emoji_u1f919.png
Binary file modified png/128/emoji_u1f919_1f3fb.png
Binary file modified png/128/emoji_u1f919_1f3fc.png
Binary file modified png/128/emoji_u1f919_1f3fd.png
Binary file modified png/128/emoji_u1f919_1f3fe.png
Binary file modified png/128/emoji_u1f919_1f3ff.png
Binary file modified png/128/emoji_u1f91a.png
Binary file modified png/128/emoji_u1f91a_1f3fb.png
Binary file modified png/128/emoji_u1f91a_1f3fc.png
Binary file modified png/128/emoji_u1f91a_1f3fd.png
Binary file modified png/128/emoji_u1f91a_1f3fe.png
Binary file modified png/128/emoji_u1f91a_1f3ff.png
Binary file modified png/128/emoji_u1f91b.png
Binary file modified png/128/emoji_u1f91b_1f3fb.png
Binary file modified png/128/emoji_u1f91b_1f3fc.png
Binary file modified png/128/emoji_u1f91b_1f3fd.png
Binary file modified png/128/emoji_u1f91b_1f3fe.png
Binary file modified png/128/emoji_u1f91b_1f3ff.png
Binary file modified png/128/emoji_u1f91c.png
Binary file modified png/128/emoji_u1f91c_1f3fb.png
Binary file modified png/128/emoji_u1f91c_1f3fc.png
Binary file modified png/128/emoji_u1f91c_1f3fd.png
Binary file modified png/128/emoji_u1f91c_1f3fe.png
Binary file modified png/128/emoji_u1f91c_1f3ff.png
Binary file modified png/128/emoji_u1f91d.png
Binary file modified png/128/emoji_u1f91d_1f3fb.png
Binary file modified png/128/emoji_u1f91d_1f3fc.png
Binary file modified png/128/emoji_u1f91d_1f3fd.png
Binary file modified png/128/emoji_u1f91d_1f3fe.png
Binary file modified png/128/emoji_u1f91d_1f3ff.png
Binary file modified png/128/emoji_u1f91e.png
Binary file modified png/128/emoji_u1f91e_1f3fb.png
Binary file modified png/128/emoji_u1f91e_1f3fc.png
Binary file modified png/128/emoji_u1f91e_1f3fd.png
Binary file modified png/128/emoji_u1f91e_1f3fe.png
Binary file modified png/128/emoji_u1f91e_1f3ff.png
Binary file modified png/128/emoji_u1f91f.png
Binary file modified png/128/emoji_u1f91f_1f3fb.png
Binary file modified png/128/emoji_u1f91f_1f3fc.png
Binary file modified png/128/emoji_u1f91f_1f3fd.png
Binary file modified png/128/emoji_u1f91f_1f3fe.png
Binary file modified png/128/emoji_u1f91f_1f3ff.png
Binary file modified png/128/emoji_u1f932.png
Binary file modified png/128/emoji_u1f932_1f3fb.png
Binary file modified png/128/emoji_u1f932_1f3fc.png
Binary file modified png/128/emoji_u1f932_1f3fd.png
Binary file modified png/128/emoji_u1f932_1f3fe.png
Binary file modified png/128/emoji_u1f932_1f3ff.png
Binary file modified png/128/emoji_u1f933.png
Binary file modified png/128/emoji_u1f933_1f3fb.png
Binary file modified png/128/emoji_u1f933_1f3fc.png
Binary file modified png/128/emoji_u1f933_1f3fd.png
Binary file modified png/128/emoji_u1f933_1f3fe.png
Binary file modified png/128/emoji_u1f933_1f3ff.png
Binary file modified png/128/emoji_u1f9b5.png
Binary file modified png/128/emoji_u1f9b5_1f3fb.png
Binary file modified png/128/emoji_u1f9b5_1f3fc.png
Binary file modified png/128/emoji_u1f9b5_1f3fd.png
Binary file modified png/128/emoji_u1f9b5_1f3fe.png
Binary file modified png/128/emoji_u1f9b5_1f3ff.png
Binary file modified png/128/emoji_u1f9b6.png
Binary file modified png/128/emoji_u1f9b6_1f3fb.png
Binary file modified png/128/emoji_u1f9b6_1f3fc.png
Binary file modified png/128/emoji_u1f9b6_1f3fd.png
Binary file modified png/128/emoji_u1f9b6_1f3fe.png
Binary file modified png/128/emoji_u1f9b6_1f3ff.png
Binary file modified png/128/emoji_u1f9bb.png
Binary file modified png/128/emoji_u1f9bb_1f3fb.png
Binary file modified png/128/emoji_u1f9bb_1f3fc.png
Binary file modified png/128/emoji_u1f9bb_1f3fd.png
Binary file modified png/128/emoji_u1f9bb_1f3fe.png
Binary file modified png/128/emoji_u1f9bb_1f3ff.png
Binary file modified png/128/emoji_u1fa79.png
Binary file added png/128/emoji_u1fa89.png
Binary file added png/128/emoji_u1fa8f.png
Binary file added png/128/emoji_u1fabe.png
Binary file added png/128/emoji_u1fac6.png
Binary file added png/128/emoji_u1fadc.png
Binary file added png/128/emoji_u1fadf.png
Binary file added png/128/emoji_u1fae9.png
Binary file modified png/128/emoji_u1faf0.png
Binary file modified png/128/emoji_u1faf0_1f3fb.png
Binary file modified png/128/emoji_u1faf0_1f3fc.png
Binary file modified png/128/emoji_u1faf0_1f3fd.png
Binary file modified png/128/emoji_u1faf0_1f3fe.png
Binary file modified png/128/emoji_u1faf0_1f3ff.png
Binary file modified png/128/emoji_u1faf1.png
Binary file modified png/128/emoji_u1faf1_1f3fb.png
Binary file modified png/128/emoji_u1faf1_1f3fb_200d_1faf2_1f3fc.png
Binary file modified png/128/emoji_u1faf1_1f3fb_200d_1faf2_1f3fd.png
Binary file modified png/128/emoji_u1faf1_1f3fb_200d_1faf2_1f3fe.png
Binary file modified png/128/emoji_u1faf1_1f3fb_200d_1faf2_1f3ff.png
Binary file modified png/128/emoji_u1faf1_1f3fc.png
Binary file modified png/128/emoji_u1faf1_1f3fc_200d_1faf2_1f3fb.png
Binary file modified png/128/emoji_u1faf1_1f3fc_200d_1faf2_1f3fd.png
Binary file modified png/128/emoji_u1faf1_1f3fc_200d_1faf2_1f3fe.png
Binary file modified png/128/emoji_u1faf1_1f3fc_200d_1faf2_1f3ff.png
Binary file modified png/128/emoji_u1faf1_1f3fd.png
Binary file modified png/128/emoji_u1faf1_1f3fd_200d_1faf2_1f3fb.png
Binary file modified png/128/emoji_u1faf1_1f3fd_200d_1faf2_1f3fc.png
Binary file modified png/128/emoji_u1faf1_1f3fd_200d_1faf2_1f3fe.png
Binary file modified png/128/emoji_u1faf1_1f3fd_200d_1faf2_1f3ff.png
Binary file modified png/128/emoji_u1faf1_1f3fe.png
Binary file modified png/128/emoji_u1faf1_1f3fe_200d_1faf2_1f3fb.png
Binary file modified png/128/emoji_u1faf1_1f3fe_200d_1faf2_1f3fc.png
Binary file modified png/128/emoji_u1faf1_1f3fe_200d_1faf2_1f3fd.png
Binary file modified png/128/emoji_u1faf1_1f3fe_200d_1faf2_1f3ff.png
Binary file modified png/128/emoji_u1faf1_1f3ff.png
Binary file modified png/128/emoji_u1faf1_1f3ff_200d_1faf2_1f3fb.png
Binary file modified png/128/emoji_u1faf1_1f3ff_200d_1faf2_1f3fc.png
Binary file modified png/128/emoji_u1faf1_1f3ff_200d_1faf2_1f3fd.png
Binary file modified png/128/emoji_u1faf1_1f3ff_200d_1faf2_1f3fe.png
Binary file modified png/128/emoji_u1faf2.png
Binary file modified png/128/emoji_u1faf2_1f3fb.png
Binary file modified png/128/emoji_u1faf2_1f3fc.png
Binary file modified png/128/emoji_u1faf2_1f3fd.png
Binary file modified png/128/emoji_u1faf2_1f3fe.png
Binary file modified png/128/emoji_u1faf2_1f3ff.png
Binary file modified png/128/emoji_u1faf3.png
Binary file modified png/128/emoji_u1faf3_1f3fb.png
Binary file modified png/128/emoji_u1faf3_1f3fc.png
Binary file modified png/128/emoji_u1faf3_1f3fd.png
Binary file modified png/128/emoji_u1faf3_1f3fe.png
Binary file modified png/128/emoji_u1faf3_1f3ff.png
Binary file modified png/128/emoji_u1faf4.png
Binary file modified png/128/emoji_u1faf4_1f3fb.png
Binary file modified png/128/emoji_u1faf4_1f3fc.png
Binary file modified png/128/emoji_u1faf4_1f3fd.png
Binary file modified png/128/emoji_u1faf4_1f3fe.png
Binary file modified png/128/emoji_u1faf4_1f3ff.png
Binary file modified png/128/emoji_u1faf5.png
Binary file modified png/128/emoji_u1faf5_1f3fb.png
Binary file modified png/128/emoji_u1faf5_1f3fc.png
Binary file modified png/128/emoji_u1faf5_1f3fd.png
Binary file modified png/128/emoji_u1faf5_1f3fe.png
Binary file modified png/128/emoji_u1faf5_1f3ff.png
Binary file modified png/128/emoji_u1faf6.png
Binary file modified png/128/emoji_u1faf6_1f3fb.png
Binary file modified png/128/emoji_u1faf6_1f3fc.png
Binary file modified png/128/emoji_u1faf6_1f3fd.png
Binary file modified png/128/emoji_u1faf6_1f3fe.png
Binary file modified png/128/emoji_u1faf6_1f3ff.png
Binary file modified png/128/emoji_u1faf7.png
Binary file modified png/128/emoji_u1faf7_1f3fb.png
Binary file modified png/128/emoji_u1faf7_1f3fc.png
Binary file modified png/128/emoji_u1faf7_1f3fd.png
Binary file modified png/128/emoji_u1faf7_1f3fe.png
Loading
Loading