mintty emoji support

Brian Inglis Brian.Inglis@SystematicSW.ab.ca
Mon Aug 4 22:12:44 GMT 2025


On 2025-08-04 11:42, ASSI via Cygwin-apps wrote:
> Thomas Wolff via Cygwin-apps writes:
>> 2. Make emoji packages that only contain a download script as a stub,
>> which is invoked per post-install to download emoji data.
> 
> It's OK to rpovide a download script, but it's definitiely not OK to run
> it on postinstall.  Network isolated machines are a thing…
> 
>> 3. Better integrate the already existing emoji deployment script with
>> mintty and maybe invoke it per post-install.
> 
> Same.
> 
> The Cygwin font directory links to the Windows system fonts anyway,
				^ MS Corp provided TTF only> could you perhaps use one of them for Emoji 
instead (at least unless no
> other suiteable free font is installed)?

$ more /etc/postinstall/zp_fontconfig_cache_1.sh
mkdir -p /usr/share/fonts/microsoft
# remove any broken links (-L -type l together)
/usr/bin/find -L /usr/share/fonts/microsoft -type l -delete

/usr/bin/find "`cygpath -W`"/Fonts/ -name '*.ttf' -exec grep -FlZ 'Microsoft 
Corp' '{}' + | while read -d $'\0' f
do
	if [ ! -e "/usr/share/fonts/microsoft/${f##*/}" ]
	then
		ln -s "$f" /usr/share/fonts/microsoft/
	fi
done

/usr/bin/nohup /usr/libexec/fc-cache-1 -s || : &

I previously offered a similar script from my local postinstalls to symlink the 
rest of the non-MS Corp and also non-TTF .[otT][tT][cfF] fonts and collections 
into a *windows* font directory, or to be merged to replace the current release:

# fontconfig handles ttc TrueType collections and otf OpenType fonts and otc 
collections
# find Windows non-MS Corp .ttf, all .TTF, .ttc, .otf, and .otc fonts and link 
between fonts dirs
# Notes:
# DUBAI-*, MTEXTRA, others are 'Microsoft supplied font';
# all *.TTF are 'Microsoft Corp'; some are also 'Microsoft supplied font';
# .../Fonts may have Deleted subdirectory;
# grep -L returns names of files with no pattern matches;
/usr/bin/find "$win" -maxdepth 1 -type f				\
        \(  -name '*.ttf' -exec /bin/grep -FaL "$mscorp" '{}' + \)	\
     -o \(  -name '*.TTF' -print \)					\
     -o \( -iname '*.ttc' -print \)					\
     -o \( -iname '*.ot[cf]' -print \)					| \
... [similar to existing]

Anyway the only MS Corp Windows emoji font is Segoe UI Emoji:

$ grep -Fl 'Microsoft Corp' Noto*.ttf …/Windows/Fonts/{seguiemj,*Emoji*}.ttf 
/usr/share/{fonts/noto,texmf-dist/fonts/truetype/google/noto-emoji}/Noto*Emoji*.ttf
microsoft/Fonts/seguiemj.ttf
microsoft/Fonts/Windows 11 Emoji.ttf
$ fc-glyphs.sh SegoeUIEmoji
  Glyphs Unicode Range     Format   Font Name		PostScript Name		Path Name
    1961 0x20-0x1fa95      TrueType Segoe UI Emoji	SegoeUIEmoji 
microsoft/seguiemj.ttf
    2016 0x20-0x1fad6      TrueType Segoe UI Emoji	SegoeUIEmoji 
microsoft/Windows 11 Emoji.ttf

These MS versions seem to be 1.29 and 1.31 but 1.45 is now available with Win11, 
hopefully updated for Unicode 16, and can be extracted from a recent Win11 ISO.

Some MS images are available from GH MIT licensed, but other have restrictions 
that prevent that:

	https://github.com/microsoft/fluentui-emoji	# Color supplied as SVG
	https://github.com/microsoft/fluentui-emoji-animated	# anim-PNG 5GB!

I found these emoji font files on my system, and it looks like TeXlive also 
distributes some fonts, but I don't know if the directory/-ies are installed for 
fontconfig, so I have added symlinks from 
fonts/texmf-dist->../../texmf-dist/fonts/{open,true}type so they are accessible, 
but they have a limited repertoire:

Glyphs Unicode Range	Format	 Font Name		PostScript Name		Path Name
     36 0x1f1e6-0xfe4ee	TrueType Noto Color Emoji Flags	NotoColorEmojiFlags 
NotoColorEmoji-flagsonly.ttf
   1466 0x20-0xfe837	TrueType Noto Color Emoji	NotoColorEmoji	 
NotoColorEmoji-noflags.ttf
   1492 0x20-0xfe837	TrueType Noto Color Emoji	NotoColorEmoji		NotoColorEmoji.ttf
   1492 0x20-0xfe837	TrueType Noto Color Emoji	NotoColorEmoji	 
NotoColorEmoji_WindowsCompatible.ttf
   5335 0x20-0xfe837	TrueType Noto Color Emoji	NotoColorEmoji	 
NotoColorEmoji-emojicompat.ttf
   1456 0x20-0xfe837	TrueType Noto Color Emoji	NotoColorEmoji	 
Noto-COLRv1-noflags.ttf
   1492 0x20-0xfe837	TrueType Noto Color Emoji	NotoColorEmoji		Noto-COLRv1.ttf
   5335 0x20-0xfe837	TrueType Noto Color Emoji	NotoColorEmoji	 
Noto-COLRv1-emojicompat.ttf
   1487 0x20-0xfe837	TrueType Noto Emoji		NotoEmoji-Bold		NotoEmoji[wght].ttf
   1487 0x20-0xfe837	TrueType Noto Emoji		NotoEmoji-Light		NotoEmoji[wght].ttf
   1487 0x20-0xfe837	TrueType Noto Emoji		NotoEmoji-Regular	NotoEmoji[wght].ttf
   1487 0x20-0xfe837	TrueType						NotoEmoji[wght].ttf
   1961 0x20-0x1fa95	TrueType Segoe UI Emoji		SegoeUIEmoji		microsoft/seguiemj.ttf
   2016 0x20-0x1fad6	TrueType Segoe UI Emoji		SegoeUIEmoji		microsoft/Windows 11 
Emoji.ttf
   1492 0x20-0xfe837	TrueType Noto Color Emoji	NotoColorEmoji	 
noto/NotoColorEmoji-Regular.ttf
    885 0x20-0xfe837	TrueType Noto Emoji		NotoEmoji		windows/NotoEmoji-Regular.ttf
   1119 0x20-0x1f9c0	TrueType EmojiOne Color SVGinOT	EmojiOneColorSVGinOT 
windows/EmojiOneColor-SVGinOT.ttf
   1418 0x23-0xe007f	TrueType Twemoji Mozilla	TwemojiMozilla	 
windows/TwemojiMozilla.ttf
   1487 0x20-0xfe837	TrueType Noto Emoji		NotoEmoji-Bold	 
windows/NotoEmoji[wght].ttf
   1487 0x20-0xfe837	TrueType Noto Emoji		NotoEmoji-Light	 
windows/NotoEmoji[wght].ttf
   1487 0x20-0xfe837	TrueType Noto Emoji		NotoEmoji-Regular 
windows/NotoEmoji[wght].ttf
   1487 0x20-0xfe837	TrueType						windows/NotoEmoji[wght].ttf
   1492 0x20-0xfe837	TrueType Noto Color Emoji	NotoColorEmoji	 
windows/NotoColorEmoji_WindowsCompatible.ttf
    885 0x20-0xfe837	TrueType Noto Emoji		NotoEmoji	 
/usr/share/texmf-dist/fonts/truetype/google/noto-emoji/NotoEmoji-Regular.ttf
   1465 0x20-0xfe837	TrueType Noto Color Emoji	NotoColorEmoji	 
/usr/share/texmf-dist/fonts/truetype/google/noto-emoji/NotoColorEmoji.ttf

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher  but when there is no more to cut
                                 -- Antoine de Saint-Exupéry


More information about the Cygwin-apps mailing list