1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
# emoโขji for all (LaTeX engines)
This package defines the `\emo{<emoji-name>}` macro for including color emoji in
a document no matter the LaTeX engine. It uses the Noto color emoji font if the
engine supports doing so and falls back onto PDF graphics otherwise. In either
case, `\emo{desert-island}` results in ๐ and `\emo{parrot}` results in ๐ฆ. Emo
may come in particularly handy when dealing with academic publishers that
provide only minimal support for non-Latin scripts (cough,
[ACM](https://www.acm.org), cough).
Emo's source repository is <https://github.com/apparebit/emo>. It also is
available [through CTAN](https://ctan.org/pkg/emo). Emo supports conversion
to HTML [with LaTeXML](https://github.com/brucemiller/LaTeXML).
## Package Options
When emo is used with the `extra` option, this package also defines the
`\lingchi` and `\YHWH` macros for ๅ้ฒ and ืืืื, respectively. Both macros
preserve a subsequent space as space, no backslash needed.
When used with the `index` option, this package also emits a raw index entry for
each use of an emoji into an emo index or `.edx` file.
## Installation
To **extract files** embedded in [emo.dtx](emo.dtx), run `pdftex emo.dtx`. Note
that plain old `tex` won't do, since it mangles this README. `pdflatex` works,
but also generates the package documentation. The embedded files are `build.sh`,
`emo.ins`, `emo.sty`, `emo.sty.ltxml`, and `README.md`.
To **build the documentation** embedded in `emo.dtx`, run `source build.sh`. The
shell script invokes `pdflatex emo.dtx` thrice and `makeindex` once each for the
change and the symbol indices, resulting in [emo.pdf](emo.pdf).
To **configure the emoji**, run `python3 config/emo.py` with appropriate
arguments. The [package documentation](emo.pdf) explains the configuration tool
in detail, but you may find the `-h` for help option sufficient to get started.
To **install this package**, place `emo.def`, `emo.sty`, `emo.sty.ltxml`,
`emo-lingchi.ttf`, and the `emo-graphics` directory with the fallback PDF files
somewhere where LaTeX can find them. In a pinch, your project directory will do.
## Supported Emoji
By default, emo supports only a few emoji:
1๏ธโฃ โฃ๏ธ โ๏ธ โ๏ธ ๐ช๐บ ๐ ๐ ๐๏ธ ๐๏ธ ๐๏ธ ๐ณ๏ธโ๐ ๐ท๏ธ ๐๏ธ ๐ฅ ๐ฅ ๐ฑ ๐พ ๐ ๐ ๐ ๐ต๏ธ ๐๏ธ ๐ก ๐ ๐ค ๐ค ๐คฏ ๐ฆ ๐งโโ๏ธ ๐งป ๐งพ
Their names are keycap-one, biohazard, balance-scale, check-mark, eu, foggy,
globe-africa-europe, classical-building, desert-island, stadium, rainbow-flag,
label, eye, busts, collision, currency-exchange, floppy-disk, triangular-ruler,
pager, loupe-left, detective, wastebasket, enraged-face, stop-sign, robot,
handshake, exploding-head, parrot, judge, roll-of-paper, and receipt.
The [package's documentation](emo.pdf) explains the underlying naming scheme and
also how to reconfigure which emoji are supported. The [emo.py](config/emo.py)
script takes care of the heavy lifting during reconfiguration, converting SVG
into PDF files and generating an updated `emo.def` file.
## Copyright and Licensing
This package combines code written in LaTeX, Python, and Perl with Unicode data
about emoji as well as graphics and fonts derived from Google's Noto fonts. As a
result, a number of different licenses apply, all of which are [OSI
approved](https://opensource.org/licenses/) and non-copyleft:
* This package's [LaTeX code](emo.dtx) is ยฉ Copyright 2023 by Robert Grimm and
has been released under the [LPPL
v1.3c](https://www.latex-project.org/lppl/lppl-1-3c/) or later.
* The [emo.py](config/emo.py) configuration script also is ยฉ Copyright 2023 by
Robert Grimm but has been released under the [Apache 2.0
license](https://www.apache.org/licenses/LICENSE-2.0).
* The [emoji-test.txt](config/emoji-test.txt) configuration file is a data
file from [Unicode TR-51](https://unicode.org/reports/tr51/) and hence
subject to the [Unicode License](https://www.unicode.org/license.txt).
* The `emo-lingchi.ttf` font is a two-glyph subset of the serif traditional
Chinese version of Google's [Noto
fonts](https://github.com/notofonts/noto-cjk) and hence subject to the [SIL
Open Font License v1.1](https://scripts.sil.org/ofl).
* The PDF graphics in the `emo-graphics` directory are derived from the
sources for [Noto's color emoji](https://github.com/googlefonts/noto-emoji)
and hence subject to the Apache 2.0 license.
|