Blame private/process-fc-query

Packit 46375d
#!/bin/sh
Packit 46375d
# Process fc query output to collect font file data
Packit 46375d
Packit 46375d
# font file to examine
Packit 46375d
font_file="$1"
Packit 46375d
# Where to save fc-query data
Packit 46375d
fc_file="$2"
Packit 46375d
Packit 46375d
# FIXME: only extracts info about the first typeface in a TTC file for now
Packit 46375d
parse_localized_fc_query() {
Packit 46375d
  field="$1"
Packit 46375d
  file="$2"
Packit 46375d
  fieldstring=$(awk -F ':' -v field="$field" \
Packit 46375d
                    '$1 == "\t"field { print $2 ; exit }' "$file" \
Packit 46375d
               | sed 's="(s)="=g' | sed 's=" *"=|=g'| sed 's= *" *==g')"|"
Packit 46375d
  default=$(echo $fieldstring | awk -F "|" '{ print $1 }')
Packit 46375d
  if $(grep -q "^"$'\t'$field"lang:" "$file") ; then
Packit 46375d
    langstring=$(awk -F ':' -v field="$field" \
Packit 46375d
                '$1 == "\t"field"lang" { print $2 ; exit }' "$file" \
Packit 46375d
                | sed 's="(s)="=g' | sed 's=" *"=|=g'| sed 's= *" *==g')"|"
Packit 46375d
    # Try to find the English label
Packit 46375d
    while [ "$langstring" != "" -a \
Packit 46375d
            "$(echo $langstring | cut -d '|' -f 1)" != "en" ] ; do
Packit 46375d
      fieldstring=$(echo "$fieldstring" | sed 's+\([^|]*\)|\(.*\)+\2+g')
Packit 46375d
      langstring=$(echo "$langstring" | sed 's+\([^|]*\)|\(.*\)+\2+g')
Packit 46375d
    done
Packit 46375d
    # We could hide problems by reporting the first label regardless of its
Packit 46375d
    # language. But this is an audit script — we do not hide problems
Packit 46375d
    echo "$fieldstring" |  awk -F "|" '{ print $1 }'
Packit 46375d
  else
Packit 46375d
    echo $(echo $fieldstring | cut -d '|' -f 1)
Packit 46375d
  fi
Packit 46375d
}
Packit 46375d
Packit 46375d
if $(FC_DEBUG=256 fc-query "$font_file" 2> /dev/null > "$fc_file") ; then
Packit 46375d
  family=$(parse_localized_fc_query family "$fc_file")
Packit 46375d
  style=$(parse_localized_fc_query style "$fc_file")
Packit 46375d
  format=$(parse_localized_fc_query fontformat "$fc_file")
Packit 46375d
else
Packit 46375d
  touch "$fc_file"
Packit 46375d
fi
Packit 46375d
Packit 46375d
Packit 46375d
echo "$family|$style|$format"