Update NotoColorEmoji template so that it passes lint, bump version.

- fix ascent/descent in hhea and os/2 to match noto UI expectations,
  zero linegap, clear useTypoMetrics bit, set weight to regular (400).
- add missing entries to name table, update revision
- map U+0000 to null glyph (not .notdef)

In addition, this tweaks the Makefile in some small ways:
- quiet zopflipng output somewhat (listen to your cpu fan to know
  that something's happening) :-)
- make flag-symlinks target an order-only dependency (it was triggering
  quantize+compress even when images hadn't changed)
- add comment about how to bypass make bug if multithread hangs
pull/27/head
Doug Felt 2015-11-30 17:49:52 -08:00
parent c67a8c3fa6
commit fc0ab7f36d
2 changed files with 37 additions and 16 deletions

View File

@ -21,7 +21,7 @@ PNGQUANTDIR := third_party/pngquant
PNGQUANT := $(PNGQUANTDIR)/pngquant PNGQUANT := $(PNGQUANTDIR)/pngquant
PNGQUANTFLAGS = --speed 1 --skip-if-larger --force PNGQUANTFLAGS = --speed 1 --skip-if-larger --force
# zopflipng is better (about 10%) but much slower. it will be used if # zopflipng is better (about 5-10%) but much slower. it will be used if
# present. pass ZOPFLIPNG= as an arg to make to use optipng instead. # present. pass ZOPFLIPNG= as an arg to make to use optipng instead.
ZOPFLIPNG = zopflipng ZOPFLIPNG = zopflipng
@ -163,7 +163,7 @@ flag-symlinks: $(RESIZED_FLAG_FILES) | $(RENAMED_FLAGS_DIR)
) \ ) \
) )
$(RENAMED_FLAG_FILES): flag-symlinks $(RENAMED_FLAG_FILES): | flag-symlinks
$(QUANTIZED_DIR)/%.png: $(RENAMED_FLAGS_DIR)/%.png $(PNGQUANT) | $(QUANTIZED_DIR) $(QUANTIZED_DIR)/%.png: $(RENAMED_FLAGS_DIR)/%.png $(PNGQUANT) | $(QUANTIZED_DIR)
$(PNGQUANT) $(PNGQUANTFLAGS) -o "$@" "$<" $(PNGQUANT) $(PNGQUANTFLAGS) -o "$@" "$<"
@ -175,10 +175,19 @@ $(COMPRESSED_DIR)/%.png: $(QUANTIZED_DIR)/%.png | check_compress_tool $(COMPRESS
ifdef MISSING_ZOPFLI ifdef MISSING_ZOPFLI
$(OPTIPNG) -quiet -o7 -clobber -force -out "$@" "$<" $(OPTIPNG) -quiet -o7 -clobber -force -out "$@" "$<"
else else
$(ZOPFLIPNG) -y "$<" "$@" 2> /dev/null $(ZOPFLIPNG) -y "$<" "$@" 1> /dev/null 2>&1
endif endif
# Make 3.81 can endless loop here if the target is missing but no
# prerequisite is updated and make has been invoked with -j, e.g.:
# File `font' does not exist.
# File `NotoColorEmoji.tmpl.ttx' does not exist.
# File `font' does not exist.
# File `NotoColorEmoji.tmpl.ttx' does not exist.
# ...
# Run make without -j if this happens.
%.ttx: %.ttx.tmpl $(ADD_GLYPHS) $(ALL_COMPRESSED_FILES) %.ttx: %.ttx.tmpl $(ADD_GLYPHS) $(ALL_COMPRESSED_FILES)
@python $(ADD_GLYPHS) "$<" "$@" "$(COMPRESSED_DIR)/emoji_u" @python $(ADD_GLYPHS) "$<" "$@" "$(COMPRESSED_DIR)/emoji_u"

View File

@ -13,7 +13,7 @@
<head> <head>
<!-- Most of this table will be recalculated by the compiler --> <!-- Most of this table will be recalculated by the compiler -->
<tableVersion value="1.0"/> <tableVersion value="1.0"/>
<fontRevision value="1.23"/> <fontRevision value="1.24"/>
<checkSumAdjustment value="0x4d5a161a"/> <checkSumAdjustment value="0x4d5a161a"/>
<magicNumber value="0x5f0f3cf5"/> <magicNumber value="0x5f0f3cf5"/>
<flags value="00000000 00001011"/> <flags value="00000000 00001011"/>
@ -33,9 +33,9 @@
<hhea> <hhea>
<tableVersion value="1.0"/> <tableVersion value="1.0"/>
<ascent value="1900"/> <ascent value="2189"/>
<descent value="-500"/> <descent value="-600"/>
<lineGap value="256"/> <lineGap value="0"/>
<advanceWidthMax value="2550"/> <advanceWidthMax value="2550"/>
<minLeftSideBearing value="0"/> <minLeftSideBearing value="0"/>
<minRightSideBearing value="0"/> <minRightSideBearing value="0"/>
@ -73,7 +73,7 @@
<OS_2> <OS_2>
<version value="4"/> <version value="4"/>
<xAvgCharWidth value="2550"/> <xAvgCharWidth value="2550"/>
<usWeightClass value="500"/> <usWeightClass value="400"/>
<usWidthClass value="5"/> <usWidthClass value="5"/>
<fsType value="00000000 00000000"/> <fsType value="00000000 00000000"/>
<ySubscriptXSize value="1331"/> <ySubscriptXSize value="1331"/>
@ -104,14 +104,14 @@
<ulUnicodeRange3 value="00000000 00000000 00000000 00000000"/> <ulUnicodeRange3 value="00000000 00000000 00000000 00000000"/>
<ulUnicodeRange4 value="00000000 00000000 00000000 00000000"/> <ulUnicodeRange4 value="00000000 00000000 00000000 00000000"/>
<achVendID value="GOOG"/> <achVendID value="GOOG"/>
<fsSelection value="00000000 11000000"/> <fsSelection value="00000000 01000000"/>
<fsFirstCharIndex value="0"/> <fsFirstCharIndex value="0"/>
<fsLastCharIndex value="90"/> <fsLastCharIndex value="90"/>
<sTypoAscender value="1900"/> <sTypoAscender value="2189"/>
<sTypoDescender value="-500"/> <sTypoDescender value="-600"/>
<sTypoLineGap value="256"/> <sTypoLineGap value="0"/>
<usWinAscent value="1900"/> <usWinAscent value="2189"/>
<usWinDescent value="500"/> <usWinDescent value="600"/>
<ulCodePageRange1 value="00000000 00000000 00000000 00000001"/> <ulCodePageRange1 value="00000000 00000000 00000000 00000001"/>
<ulCodePageRange2 value="00000000 00000000 00000000 00000000"/> <ulCodePageRange2 value="00000000 00000000 00000000 00000000"/>
<sxHeight value="0"/> <sxHeight value="0"/>
@ -132,7 +132,7 @@
<cmap> <cmap>
<tableVersion version="0"/> <tableVersion version="0"/>
<cmap_format_12 platformID="3" platEncID="10" language="0" format="12" reserved="0" length="1" nGroups="1"> <cmap_format_12 platformID="3" platEncID="10" language="0" format="12" reserved="0" length="1" nGroups="1">
<map code="0x0" name=".notdef"/><!-- &lt;control> --> <map code="0x0" name="null"/><!-- &lt;control> -->
<map code="0xd" name="nonmarkingreturn"/> <map code="0xd" name="nonmarkingreturn"/>
<map code="0x20" name="space"/> <map code="0x20" name="space"/>
<map code="0x200d" name="u200D"/> <map code="0x200d" name="u200D"/>
@ -156,7 +156,7 @@
Noto Color Emoji Noto Color Emoji
</namerecord> </namerecord>
<namerecord nameID="5" platformID="3" platEncID="1" langID="0x409"> <namerecord nameID="5" platformID="3" platEncID="1" langID="0x409">
Version 1.23 Version 1.24
</namerecord> </namerecord>
<namerecord nameID="6" platformID="3" platEncID="1" langID="0x409"> <namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
NotoColorEmoji NotoColorEmoji
@ -164,9 +164,21 @@
<namerecord nameID="7" platformID="3" platEncID="1" langID="0x409"> <namerecord nameID="7" platformID="3" platEncID="1" langID="0x409">
Noto is a trademark of Google Inc. Noto is a trademark of Google Inc.
</namerecord> </namerecord>
<namerecord nameID="8" platformID="3" platEncID="1" langID="0x409">
Google, Inc.
</namerecord>
<namerecord nameID="9" platformID="3" platEncID="1" langID="0x409">
Google, Inc.
</namerecord>
<namerecord nameID="10" platformID="3" platEncID="1" langID="0x409">
Color emoji font using CBDT glyph data.
</namerecord>
<namerecord nameID="11" platformID="3" platEncID="1" langID="0x409"> <namerecord nameID="11" platformID="3" platEncID="1" langID="0x409">
http://www.google.com/get/noto/ http://www.google.com/get/noto/
</namerecord> </namerecord>
<namerecord nameID="12" platformID="3" platEncID="1" langID="0x409">
http://www.google.com/get/noto/
</namerecord>
<namerecord nameID="13" platformID="3" platEncID="1" langID="0x409"> <namerecord nameID="13" platformID="3" platEncID="1" langID="0x409">
This Font Software is licensed under the SIL Open Font License, Version 1.1. This Font Software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software. This Font Software is licensed under the SIL Open Font License, Version 1.1. This Font Software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.
</namerecord> </namerecord>