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

Reply via email to