Commit Graph

674 Commits (main)

Author SHA1 Message Date
Doug Felt 612d1a7589 Add aliases for legacy android sequences.
Standard Unicode (emoji v5) does not define skin tones for wrestlers,
but android does.  Alias the skin tone variants of the non-gender-
specific emoji to the corresponding male emoji, as we do for the
non-skin-tone version.
2017-04-13 14:32:15 -07:00
dougfelt 8f0ab6079e Merge pull request #112 from dougfelt/emoji_html_template
Use standard string.Template mechanism.
2017-04-12 11:02:23 -07:00
dougfelt 2b48e7d5d7 Merge pull request #113 from dougfelt/fix_image_resize
Fix image resize, use quality arg to pngquant, quiet Makefile
2017-04-12 11:02:03 -07:00
Doug Felt fe67fac240 Use quality param with optipng.
When images are not processed due to not being able to meet the
minimum quality setting, error 99 is returned, so catch this too
so we still copy the file.

Might still want to tweak these settings.
2017-04-12 09:00:01 -07:00
Doug Felt 2afcb05d16 Quiet makefile output. 2017-04-12 08:59:16 -07:00
Doug Felt ee81bf8043 Fix resize of grayscale images.
When imagemagick 6.7.7-10 is processing the '-extent' operator and
discovers an image is grayscale, it turns the 32-bit truecolor sRGB
image into a grayscale image, but does so incorrectly-- the gray
levels and alpha are wrong.  Get around this by using composition
to copy the source image over a slightly larger transparent image.
2017-04-12 08:53:18 -07:00
Doug Felt fabd80e194 Use standard string.Template mechanism. 2017-04-12 08:47:24 -07:00
dougfelt 2b65d032c4 Merge pull request #111 from dougfelt/emoji_thumbnail
Emoji thumbnail
2017-04-10 16:21:00 -07:00
Doug Felt 7ce8ee5d73 Update thumbnail generation and add unknown flag sequences.
Thumbnail generation for Unicode requires some changes:
- 72x72 images (exact, not just fit within that frame)
- custom prefix ending in underscore
- images for unsupported flags

The default build doesn't support some flags by default, since they
are not wanted by Android.  For the thumbnail list these images need
to be provided, so we alias them to the unknown flag images as that's
what would show for them.  It's probably a good idea to list these
explicitly anyway, other tools could use this information.
2017-04-10 13:43:00 -07:00
Doug Felt f89867eab6 Merge branch 'master' into emoji_thumbnail 2017-04-07 13:51:05 -07:00
dougfelt ff93f20f66 Merge pull request #110 from dougfelt/emoji_data_update
Emoji data update
2017-04-06 09:51:37 -07:00
Doug Felt 294308f913 Add tool to generate emoji thumbnails.
To generate the Unicode comparison page of various vendor emoji,
Unicode prefers to use 72x72 images for all the supported emoji
without aliasing.  This tool will generate these from the
directory of cleaned images produced by the emoji build, using
the aliases defined in emoji_aliases.txt.
2017-04-05 15:32:59 -07:00
Doug Felt 893db190d7 Add aliases for new version 5 emoji. 2017-04-05 14:47:36 -07:00
Doug Felt 511f1096dc Rebuild of NotoColorEmoji font. Images should be the same. 2017-04-03 14:42:22 -07:00
dougfelt 0e73244b3f Merge pull request #107 from dougfelt/readme3
Fix README, Windows 10 itself supports COLO/CPAL, not just Edge.
2017-03-17 09:48:37 -07:00
Doug Felt 41a1f62fc0 Fix README, Windows 10 itself supports COLO/CPAL, not just Edge. 2017-03-17 09:45:26 -07:00
dougfelt 47b8f7f07e Merge pull request #106 from dougfelt/readme_again
Use official name of Chromium OS.
2017-03-16 17:00:57 -07:00
Doug Felt f8cfda51f8 Use official name of Chromium OS. 2017-03-16 16:59:42 -07:00
dougfelt c7cf9d3a2d Merge pull request #105 from dougfelt/readme
Add note on NotoColorEmoji support on various OSs/web browsers.
2017-03-16 16:39:15 -07:00
Doug Felt b4a58a3487 Add note on NotoColorEmoji support on various OSs/web browsers. 2017-03-16 15:19:44 -07:00
dougfelt 09e5d14766 Merge pull request #103 from dougfelt/emoji_font_binary
Add NotoColorEmoji.ttf binary.
2017-03-10 17:27:43 -08:00
Doug Felt 733a622129 Add NotoColorEmoji.ttf binary.
Previously we haven't put the binary into the repo itself, since it's
built using the tooling.  But people who fetch fonts from the get/noto
website want to know more about the version history of the fonts they
find there.  Checking the binary into the noto-emoji site will facilitate
this.

This was built locally from the public images using the standard makefile
and zopflipng.
2017-03-10 16:34:14 -08:00
dougfelt 732cb454ac Merge pull request #101 from dougfelt/emoji_html_title
Emoji html title
2017-03-08 14:29:33 -08:00
Doug Felt 0d36d125aa Fix display of 'parts' of sequences in the sequence column.
When relying on aliasing, a number of single character emoji can be
replaced by sequence emoji (in particular, gendered variants).  If
these images aren't present, the current code that displays a sequence
'visually' fails to find an image for one of the parts, so bails and
there's no visual presentation for those sequences.

To fix this, we first canonicalize the part we're looking for, and try
to find an image for that, and if we fail we check for an alias and
try to find an image for that.
2017-03-07 17:54:41 -08:00
Doug Felt d4da27eef8 Canonicalize aliases.
Forgot to canonicalize the aliases, so most of them wouldn't get used
because the keys against which they're compared are canonical.  Fixed
that.

Also report unused aliases.
2017-03-07 16:59:50 -08:00
Doug Felt ed190c7060 Merge branch 'master' into emoji_html_title 2017-03-07 14:39:57 -08:00
dougfelt 07d4c025a4 Merge pull request #100 from dougfelt/fix_aliased_couples
Use full sequences to name images for mixed-gender couples.
2017-03-07 14:39:07 -08:00
dougfelt 77c99fd5f4 Merge pull request #99 from dougfelt/no_fe0f
Remove 'fe0f' from emoji asset names.
2017-03-07 14:38:50 -08:00
Doug Felt 0d0db39af0 Update emoji html page generation.
- Support --ignore_missing flag to skip missing data on output.
  When all_images is set, this skips sequences for which we have
  no image files.  When all_images is not set, this skips sequences
  for which we have image files but are not in the canonical
  sequence list (e.g. older sequences for which we included skin
  tone variants but which later versions of unicode decided there
  shouldn't be).
- Use alias information to add alias sequences when not using
  all_images and we have an image for the target sequence.
- Use alias information to mark missing images with '-alias-' when
  we expect an alias (note, not only when we actually have one)
- Embed tool name, date, and arguments in a comment in the generated
  html.
2017-03-07 14:28:21 -08:00
Doug Felt b9cbe2324c Use full sequences to name images for mixed-gender couples.
We currently name the mixed-gender 'kiss' and 'couple with heart'
images after the single-codepoint sequences.  But aliasing maps
the single codepoint sequence to the gendered sequence, not the
reverse.  As a result the build doesn't create ligatures for the
gendered sequences, since it thinks the image doesn't exist.

Fix this to use the gendered-sequence-names for these images, and
let aliasing work as intended.  This follows the convention we've
adopted of letting the name more completely describe the image
contents, and defining how to represent less-specific sequences
using aliasing rather than baking these decisions into each image
name.
2017-03-06 16:02:24 -08:00
Doug Felt 1165ab005c Remove 'fe0f' from emoji asset names.
We've been inconsistent about use of the variation selector in image names,
and it's cleaner if we just consistently drop it.  We use the unicode data
for the full unicode strings for these names now so we don't need it in
the image data.
2017-03-06 15:05:21 -08:00
dougfelt 700c7fb76f Merge pull request #98 from dougfelt/master
Get back in sync, init lookup table.
2017-03-02 11:03:32 -08:00
Doug Felt a42092aa5d Suppress echo of symlink generation in Makefile, again. 2017-03-02 11:01:33 -08:00
Doug Felt bb5c080aeb Make sure to initialize lookup table even if LookupType is set. 2017-03-02 10:53:48 -08:00
Doug Felt 20c0cd9af3 Merge remote-tracking branch 'upstream/master' 2017-02-23 11:18:47 -08:00
dougfelt ae7b319bbd Merge pull request #97 from dougfelt/vmtx
Add vhea/vmtx to NotoColorEmoji.
2017-02-23 11:18:18 -08:00
dougfelt 950666a5d7 Merge pull request #95 from dougfelt/emoji_sort
Emoji sort
2017-02-23 11:17:43 -08:00
Doug Felt 3a39580522 Add vhea/vmtx to NotoColorEmoji.
The vertical advance is a little over the horizontal lineheight.

Fixes noto-emoji#94.
2017-02-22 18:13:06 -08:00
Doug Felt df9b5647b7 Support 'ok', 'warning', 'error' annotations and define some.
Formerly the annotations file created a set of sequences that would
cause the name field to display with a special background color.  This
lets you choose one of three colors by defining the 'type' of annotation
in the file.  The file format was enhanced and the code using it takes
the type of annotation into account.

This also adds a sample annotation file with annotations for a number of
situations we currently expect to encounter: missing images that we expect
to be supported by aliases to other images, flags that we expect to not
support, and new unicode 10 emoji that we might not yet have image data
for.
2017-02-22 09:58:25 -08:00
Doug Felt d24aa6dd3e Add all_emoji and emoji_sort options to generate_emoji_html.
By default, the list of emoji sequences is based on the union of
the sequences encoded in the image file names for all the directories
(or the first directory if --limit was set).  The --all_emoji option
uses the emoji sequences from nototools/unicode_data instead.

By default, the list of emoji sequences is in unicode codepoint order.
The --emoji_sort option uses the emoji sequence sort order from
nototools/unicode_data instead.

Along with this, the ordered list of sequences becomes an argument to
write_html_page, which it should have been all along.
2017-02-21 16:17:23 -08:00
Doug Felt 1f2cde6c5e Map to canonical keys when we read in file name mappings.
It's a bit cleaner to canonicalize the keys when we read the file names.
This means we can just use the one canonical key, instead of using
the original to get the file and the canonical one to render text and
show the decoding.
2017-02-21 16:17:23 -08:00
Doug Felt f03c96c57a Merge remote-tracking branch 'upstream/master' 2017-02-21 16:10:23 -08:00
dougfelt 1c0ce222a4 Merge pull request #93 from dougfelt/subregion_flag_test_experiment
Rewrite add_glyphs, use alias table.
2017-02-21 16:09:53 -08:00
Doug Felt 616ed3a600 Rewrite add_glyphs, use alias table.
This is a rewrite of add_glyphs in third_party/color_emoji.  The
primary motivation was to move special aliasing rules out of that
code and use an external aliases file instead.  This new version
is a bit more thorough about aliasing, and hopefully a little
easier to read.

The new add_glyphs takes its parameters using keywords, so
the invocation in the Makefile changed (as well as the path to
the tool).

emoji_aliases.txt was extended to add the flag aliases that were
formerly defined in the old add_glyphs code.

add_aliases was modified so the name of the alias file could be
passed in as a parameter to the main utility function that reads
the alias mapping from the file.

The new code expects all glyphs used by the template GSUB tables
to be named in the GlyphOrder table, but doesn't require the cmap
and hmtx table to be fleshed out.  The new code fleshes these out
when it processes the sequences to add.  As a result the cmap and
hmtx tables in the template were truncated.

The new code also sorts the GlyphOrder table when it extends/rebuilds
it.
2017-02-21 10:15:08 -08:00
Doug Felt 6b1afeda6f Merge remote-tracking branch 'upstream/master' 2017-02-17 19:11:03 -08:00
dougfelt 1e613c4d2d Merge pull request #92 from dougfelt/subregion_flag_test_experiment
Subregion flag support
2017-02-17 17:44:30 -08:00
Doug Felt e5146fcecb Avoid duplicate names in glyphorder table.
When adding a single glyph that was not in the cmap, this was adding the
name for that glyph twice.
2017-02-16 15:07:47 -08:00
Doug Felt a62c0be851 Add GSUB substitutions to provide unknown flag for pairs of RIS.
A current issue in Harfbuzz requires that you not perform a delete
on index 1 before running a lookup on index 0.
2017-02-15 16:33:03 -08:00
Doug Felt 58097d9d4c Generate reversed GSUB sequences for subregion flags too.
Since subregion flag sequences consist of BN and ON they can be
impacted by bidi, and once again we have the problem that these are
processed in visual order so we need GSUB rules such that we can
handle them in either direction.  All subregion flag sequences
contain U+E007F, so we use that as a trigger for adding the
reversed sequence.

We also need to handle emitting the missing flag glyph for the
reversed sequences.

And we also want to strip out tag glyphs when the context is reversed.
This means the chaining context should include 'E007F' as well.
2017-02-15 16:21:55 -08:00
Doug Felt d270ecad99 Generate unknown flag for unrecognized subregion emoji sequences.
Instead of writing code to build the additional lookups needed for
subregion missing flag handling, this adds a GSUB table to the
template and lets add_glyphs do its normal thing to the first
GSUB lookup.
2017-02-15 16:21:55 -08:00