Comment 20 for bug 1556457

Revision history for this message
Mingye Wang (artoria2e5) wrote :

> Is there some way to iterate over the unicode glyphs for fonts that we have available, to ensure that the new fontconfig does not crash on those?

fc-match doesn't seem to provide glyph-level lists, but anyway `diff`-ing over some fallback order dump should help:

#!/bin/bash
FC_MATCH=/usr/bin/fc-match
# use dictionary keys as a string-set
declare -A locales

# grab a list-of-locales
for i in /var/lib/locales/supported.d/*; do
  mapfile -t arr < "$i"
  # kill the longest trailing [. ]*, so what we got are basically the lang_LOC part
  for l in "${arr[@]%%[. ]*}"; do
    locales["$l"]='' # make it defined, that's all we need to snap the key in
  done
done

for loc in "${!locales[@]}"; do
  echo "# $loc:"
  export LC_ALL=${loc}.UTF-8
  for font in Sans Serif Monospace Ubuntu; do
    for weight in regular bold; do
      # more inner loops for styles.......
      echo "* $font:weight=$weight:"
      fc-match -a "$font:weight=$weight:"
      echo
    done
  done
  echo
done

> Does this need any other dependencies (freetype etc.)? if 2.11.94 causes trouble, how easily can we go back to 2.11.1?

No.

2.11.94 seems to be 100% ABI and API compatible with 2.11.1.
Archlinux and AOSC OS survived the update, and Fedora has been using 2.11.94 for quite a while.