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.
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.
- 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
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.
This adds an argument to generate_emoji_html that specifies
a file listing codepoint sequences. Emoji matching one of these
codepoint sequences are highlighted in the output.
It used to be difficult to find a sequence since the codepoints weren't
provided, just the images. This provides the codepoint list as
the 'name' of the sequence.
This also makes some other changes:
- the python template system doesn't like keyword names that have have
hyphens, so rename font-face-style to fontFaceStyle to get around this.
Thought this had been fixed earlier, but apparently it didn't end up in
a pushed commit.
- no longer insert emoji variation selector after some characters.
This was done to see what difference it made in browser behavior, but
we think now that browsers should be able to handle these sequences
without the selectors present.
- use a flag to pass name of output html file, rather than taking it as
a direct arg. other flags take multiple args, and if the html file
name comes after one of those, it gets swallowed by the other flag,
so it has to come first. This lets you put the file name anywhere
in the parameter list, the flag acts as a delimiter.
Images are shown in LTR and RTL contexts. Chrome currently doesn't
correctly render some emoji sequences, in part this is because it is
using Unicode 8 property data. At any rate, these are known Chrome
issues.
By default the tool uses all sequences that appear in any of the image
sets. To make it easier to see just the changes between a smaller
set of images and a large one, this lets you limit the sequences
to just those in the first set being compared.
Formerly, we wrote the file paths as given on the command line, the
assumption being that the output file was in the cwd and the paths
to the directories would be correct.
However if we want to generate the output file somewhere other than
the cwd the generated image paths don't work. This takes the location
of the output file into account and either generates relative paths
if the files are under the output file directory, or absolute paths
otherwise.
This uses nototools to get unicode names. It relies on new
api in nototools.unicode_data to get data/names of proposed emoji
that are not currently approved and so not in the standard data
files.