Unifont Glyph Modifications and Extensions

Emoji Glyph Normalization

The first goal of this work is to contribute to the excellent work provided by GNU Unifont and normalize its emoji glyphs as described below. The adjustments proposed here are intended to contribute positively to the project, ensuring that the emoji glyphs in Unifont are as cohesive, user-friendly, and standards-aligned as possible while respecting the unique character and legacy of the font.

Many emoji glyphs in the font exhibit inconsistencies in shapes, sizes, and positions, both in their overall forms and in their individual components. For instance, while most of the “smiley” emoji are drawn within a standard 15×14 circle, some deviate from this standard size without a clear reason. Similarly, the shapes and positions of commonly used eye and mouth types can be standardized. These adjustments will help create a more cohesive look and feel across the set, while still allowing for individual glyphs to retain their unique character where appropriate.

The Unicode and emoji standards discuss the text style vs emoji style of an emoji character. Text style does not refer to simply a monochrome version of emoji style; the design for each text style glyph is guided by (but not mandated by) the Unicode character properties of the character (especially the Name property) and the representative glyph in the code charts, while the design for each emoji style glyph (see the next section) are guided by the various emoji and CLDR documents and data files as well as industry practice. Even characters that do not have an explicitly defined text style variation sequence are given separate text and emoji style glyphs. As Unifont does not include emoji support, the proposed glyphs are all designed in text style. Emoji style glyphs (both monochrome and color) are given later in this document.

The following table shows each emoji code point grouped by emoji category with its name, code point, and representative glyph from the Unicode code charts. Each row also includes the current Unifont glyphs for the character and the proposed updated glyph. Grayed-out glyphs in the “proposed” column indicate that the current glyph has been included in this proposal without redesign. Proposed glyphs with a green background have been accepted into Unifont. Proposed glyphs displaying “TO DO” have not yet been included in the proposal and may or may not have a proposed redesign in the future.

Unifont Glyphs
Scale
Unicode Unifont
Code Name Representative 17.0.03 Proposed Diff

Hex format for proposed glyph updates for the category selected above:

Extended Emoji Support

The second goal of this work is to create extensions to GNU Unifont to add full support for emoji. These extensions are likely out of scope for the Unifont project. The extensions include:

The text style glyphs are taken from the proposed glyphs for Unifont given above. The following criteria guide the design of the emoji style glyphs:

  1. Be consistent with the official guidelines. The glyph designs should adhere to the specifications and recommendations outlined in the various emoji and CLDR documents and data files. Extensive details can be found in the Design Guidelines section of Unicode® Technical Standard #51. As noted in the Unicode documentation:

    “The formal Unicode name of a Unicode character does not determine its appearance. […] In many cases, the consensus for the best depiction has evolved in the time since the original formal name was standardized, and the preferred depiction is now better reflected by the CLDR short name.”
  2. Be consistent with industry practice. This criterion is specifically detailed in Unicode® Technical Standard #51 but is explicitly listed here for emphasis. Many emoji fonts and vendors have agreed upon a set of visual conventions and styles that increase interoperability and user familiarity across platforms. Aligning with these practices helps maintain consistency and avoids user confusion when interpreting emoji designs.

    While consistency with industry practices is encouraged, it is important to recognize that exact replication of existing designs is neither required nor always practical. Reasonable interpretation and creativity in representing emoji and other icons are valid and often necessary to accommodate diverse design contexts or technical constraints. The goal is to balance user expectations with flexibility in artistic expression and functionality.

Color Palette

The color palette used for the color glyphs is a custom palette that will be called “Human16” in this document.

The Human16 palette was carefully designed with the following goals in mind:

Emoji Style Glyphs

This project will provide two new fonts called “Comfont Emoji” and “Comfont Color Emoji” to complement Unifont. Comfont Emoji will use the monochrome emoji style glyphs and Comfont Color Emoji will use the color emoji style glyphs. Both will include full emoji support for sequences and variations. These fonts will contain only emoji glyphs and their text variants and will be dual-licensed under the SIL Open Font License (OFL) version 1.1 and the GNU General Public License Version 3 with the GNU font embedding exception. Unifont has full permission to incorporate these glyphs or redistribute these fonts when they become available. If Unifont does decide to fully incorporate and host these extensions, I will deprecate the Comfont fonts and archive this page. Otherwise, any unincorporated extensions will continue to be maintained and provided here.

The following table presents the proposed glyph designs. The Comfont columns show the new glyph designs in text style (if the code point has a text style variation), monochrome emoji style, and color emoji style.

Comfont Glyphs
Scale
Unicode Comfont
Code CLDR Short Name Text Emoji Color

License

This project and the glyph designs on this page are licensed under the GNU General Public License Version 2 or (at your option) any later version. The font files for this project will be dual-licensed under the SIL Open Font License (OFL) version 1.1 and the GNU General Public License Version 2 or (at your option) any later version, with the GNU font embedding exception.