Commit Graph

331 Commits (7b180af3a60968383bba60e7384a246ab42d380b)

Author SHA1 Message Date
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
Doug Felt b5c7e8035c Use waving black flag for subregion flag sequences.
This was a recent change from the UTC.
2017-02-15 16:21:54 -08:00
Doug Felt 023e82014e Merge remote-tracking branch 'upstream/master' 2017-02-10 17:57:37 -08:00
dougfelt 6b1a50aa80 Merge pull request #91 from dougfelt/generate_emoji_html
Update generate_emoji_html tool.
2017-02-10 17:55:51 -08:00
Doug Felt f68991b34b Update generate_emoji_html.
Main changes are:
- Uses correct path to the font when a font is used. With standalone, also
  copies the font to under the destination directory.
- Canonical sequences are used in text rendered by a font.  Chrome handles
  these better (though still not perfectly).
- The description column now is renamed 'Sequence' and shows the
  (canonical) codepoint sequence for all emoji.  It also continues to show
  the component images for sequences.
- The name column now always shows the sequence name using the unicode
  data.  Single character emoji that are not default emoji presentation
  now have the names prefixed by '(emoji)'.  Names for the unknown flag
  PUA char and for the combining enclosing keycaps char (not technically
  an emoji but an emoji component) are special-cased, they are not in the
  emoji sequence name data built by unicode_data.
2017-02-09 18:24:48 -08:00
Doug Felt 930dfa805a Use waving black flag for subregion flag sequences.
This was a recent change from the UTC.
2017-02-09 18:24:31 -08:00
Doug Felt bb776b85f7 Use waving black flag for subregion flag sequences.
This was a recent change from the UTC.
2017-02-01 12:35:34 -08:00
dougfelt 2dc2c4b53f Merge pull request #89 from dougfelt/master
Replace missing include patch that was inadvertently dropped
2017-01-26 17:54:59 -08:00
Doug Felt 2a0df56cae Replace missing include patch that was dropped when merging with upstream.
Our copy of waveflag.c uses basename and so needs the header.
2017-01-26 17:52:06 -08:00
dougfelt 1217d9c211 Merge pull request #87 from dougfelt/subregion_flags
Subregion flags
2017-01-26 15:25:57 -08:00
dougfelt 312ceac1f7 Merge pull request #88 from dougfelt/waveflag_update
Update waveflag.c from upstream.
2017-01-26 14:37:48 -08:00
Doug Felt 46562661a4 Update waveflag.c from upstream.
Also, we call this a bit differently than upstream so have a slight change.
Add comment to highlight this more.

the
2017-01-26 14:22:56 -08:00
Doug Felt 042a05f19a Merge branch 'master' into subregion_flags 2017-01-25 17:01:41 -08:00
dougfelt e17f85ef19 Merge pull request #86 from dougfelt/emoji_checK
Emoji check enhancements
2017-01-25 17:01:00 -08:00
Doug Felt 57ec57dfd6 Support subregion flags when building the emoji font.
- update Makefile to include approved GB subregion flags by default
- update flag_glyph_name to generate sequence names for these
- fix bug where the glyphorder table wasn't getting updated with
  components, which was causing ttx to fail when compiling the
  ttx to ttf in a later phase.
2017-01-25 16:57:37 -08:00
Doug Felt 763a0f5155 Add subregion flag resources from upstream. 2017-01-25 09:39:33 -08:00
Doug Felt 494fb41a68 Copy original file if pngquant can't compress it.
--skip_if_larger does nothing and returns an error if pngquant would
generate a larger file than the original.  Formerly we would not copy
the file in this case so later operations expecting the file would fail.
No image triggered this, though, so the issue went unnoticed.  We want
the smaller of the two files.  It's unclear if later compression using
optipng would still do better with the larger quantized file vs the
original unquantized file, but we need to have a file.
2017-01-25 09:16:47 -08:00
Doug Felt 11868c62b7 Fix location of new flag resources, and also update Makefile. 2017-01-24 14:27:29 -08:00
Doug Felt 188e0c9601 Add flag resources from behdad/region-flags. 2017-01-24 14:12:32 -08:00
Doug Felt 326621dfd0 Add color option to generate_emoji_html tool.
Now optionally takes '-c' flag to set background colors for the last
emoji set.  Colors are 6-digit rgb hex values (for css after '#').
When more than one color is specified, the last emoji set is repeated
across columns, one for each color.  '-c' with no arguments defaults
to a set of 11 colors.  Omitting the flag uses the standard background
color.
2017-01-24 11:42:51 -08:00
Doug Felt b99cd4b22b Enhance check_emoji_sequences tool.
- includes aliases
- checks coverage of sequences (assumes full coverage of all unicode
  emoji and sequences for now)
- reports sequence names

(Some of this code needs to be shuffled into other places, sequence name
lookup and emoji_vs stripping doesn't belong here since these operations
are more generally useful.  That will come.)
2017-01-24 11:40:13 -08:00
Doug Felt 186affd135 Small tool to create aliases based on alias data. 2017-01-24 11:38:02 -08:00
Doug Felt d98eb857a2 Add skin tone aliases for golfer.
Also strip trailing whitespace.
2017-01-24 11:31:43 -08:00
Doug Felt 797ee66eba A tool for renaming files.
Emoji image files we get from upstream sometimes use the 'canonical'
sequences from the unicode data, which can contain emoji variation
selectors in the sequence.  For our image data we wish to ignore
variation selectors.  This tool renames files in a directory to the
corresponding sequence without emoji variation selectors, so that
other tooling doesn't need to account for them.
2017-01-23 14:04:48 -08:00
Doug Felt eeff0b59bb Add data file listing emoji aliases.
This maps a sequence of codepoints to another sequence, where the
first sequence should be an alias to the second.

Initial data contains emoji sequences where we expect an image named
according to the second sequence, but want to support the first
sequence with the same image.
2017-01-23 13:58:27 -08:00
Doug Felt 7212bff68a Merge branch 'master' into emoji_checK 2017-01-19 10:51:35 -08:00
Doug Felt dd2244a9b8 Add check for emoji sequence coverage. 2017-01-19 10:50:40 -08:00
dougfelt 561d08a89c Merge pull request #83 from dougfelt/emoji_checK
Update emoji sequence check to be more flexible.
2017-01-19 10:48:01 -08:00
Doug Felt 2a6c35a1bd Make tool run correctly under virtualenv. 2017-01-18 14:56:16 -08:00
Doug Felt 4ec1a5fed8 Update emoji sequence check to be more flexible.
- supports checking files with other extension besides .png
- checks all files under a root directory and not just the
  files directly in a directory
- checks for duplicate files in multiple directories under a root
- reports the directory containing a file when there are problems
2017-01-18 14:48:52 -08:00
dougfelt f09b63d1ec Merge pull request #78 from dougfelt/gendered_professions
Update emoji pngs with gendered professions.
2016-10-20 11:19:56 -07:00
Doug Felt 3757e8aeed Update emoji pngs with gendered professions. 2016-10-20 11:03:44 -07:00
dougfelt 036a9e27d5 Merge pull request #77 from dougfelt/readme_update
Clarify copyright status of image data in the main README.
2016-10-20 10:51:14 -07:00
Doug Felt 51a7d28c6b Clarify copyright status of image data in the main README. 2016-10-20 10:50:18 -07:00
dougfelt 791941db84 Merge pull request #76 from dougfelt/emoji_png_fixes
Update png files with updates from designers.
2016-10-17 15:40:59 -07:00
Doug Felt 50addd12f4 Update png files with updates from designers.
(This is part of bringing svg versions into sync with png.)
2016-10-17 15:38:22 -07:00
dougfelt 86051fda51 Merge pull request #75 from dougfelt/master
Add 'standalone' option to copy image data used by html page.
2016-10-13 10:11:53 -07:00
Doug Felt 1a5925a871 Add 'standalone' option to copy image data used by html page.
The generated html references images in multiple directories that
might not be in any defined location relative to the html file.
For sharing the results it's convenient if we have the images
and html file under the same parent directory.  This option computes
the necessary images and copies them to directories under the directory
into which the html file is written, and makes the html file reference
the files in these new locations.

In addition, this removes some clutter from the generated table by
using the nth-last-of-type pseudo-class selector instead of tagging
all the cells in a column with a class name.
2016-10-12 15:54:37 -07:00
dougfelt fcc3cfed6f Merge pull request #73 from dougfelt/master
Update waveflag to upstream
2016-10-07 15:32:23 -07:00
Doug Felt 41fa8181f5 Update for new waveflag semantics.
Previously our copy of waveflag took just an input and output filename.
Upstream takes a prefix and one or more input filenames, and concatenates
the prefix to the input filename as the output.

The makefile is changed to pass a prefix and the input filename, instead
of the input filename and the output filename as it formerly did.

Unfortunately for us, our inputs have a directory prefix since they're
not in the current directory, and we don't want this prefix in the output
file path.  So we tweak our copy of waveflag.c to call basename on the
input file path before we append it to the prefix.

We also make the tool a little less noisy by putting more printfs
under the debug flag.
2016-10-07 14:31:12 -07:00
Doug Felt 741f8b92c9 Update waveflag.c to upstream version.
Also updates LDFLAGS to match upstream.
2016-10-07 14:21:32 -07:00
dougfelt a4ab161af7 Merge pull request #70 from dougfelt/master
Update copyright language in templates.
2016-09-27 11:30:45 -07:00
Doug Felt 53f860f2e2 Update copyright language in templates.
"All Rights Reserved." is not meaningful and can be confusing, so it
was removed.

The SVG template was updated to the current OFL copyright language.
2016-09-27 11:26:22 -07:00
dougfelt 5e1808fbbe Merge pull request #68 from dougfelt/master
Mention fontTools dependency in README.
2016-09-08 18:07:06 -07:00