Como posso ver algum texto de amostra renderizado em todas as fontes no meu sistema?

2

Eu quero escolher uma fonte (tecnicamente, um tipo de letra ou fonte-família) para fora os numerosos que eu tenho sobre meu sistema (Windows), para uso em alguns aplicativos (não-TeX), por exemplo LO Writer.

Para fazer isso, eu quero ser capaz de ver algum texto ("quick brown fox" ou algo assim) renderizado com todas as fontes que eu instalei. Naturalmente, as fontes não latinas precisam de texto que exiba os glifos e combinações de glifos relevantes (por exemplo, formulários contínuos em árabe, pontuação e marcas de cantilação em hebraico).

Qual é a melhor maneira de fazer isso?

Perguntas sobre bônus para 1337 usuários:

  • Linux, não apenas o Windows
  • Limite isso apenas às fontes hebraicas, apenas às fontes árabes, apenas às fontes latinas, etc.
por einpoklum 04.04.2013 / 23:06

1 resposta

2

O ImageMagick suporta a renderização de fontes e textos arbitrários. Abaixo está um script de exemplo que irá iterar sobre fontes disponíveis e renderizar algum texto. Eu não tenho certeza de como você é experiente, então eu vou assumir que o script faz sentido.

Eu corri isso no Cygwin e no Gentoo, então é uma solução viável para ambos os sistemas. Não é perfeito, porque convert.exe é incapaz de lidar com todas as fontes (em ambos os sistemas). Eu acho que eles devem ser TrueType. Verifique os documentos para opções para o programa de conversão (antialiasing, recorte). Sinta-se à vontade para atualizar o script se você encontrar algumas opções úteis.

Arquivo: fonts.sh

#! /bin/bash
t="
NAME
   cowsay/cowthink - configurable speaking/thinking cow (and a bit more)

SYNOPSIS
   cowsay [-e eye_string] [-f cowfile] [-h] [-l] [-n] [-T tongue_string] 
   [-W column] [-bdgpstwy]

DESCRIPTION
   Cowsay  generates  an  ASCII  picture of a cow saying something provided 
   by the user.  If run with no arguments, it accepts standard input, word-
   wraps the message given at about 40  columns,  and  prints the cow saying
   the given message on standard output.

- - - 

~ \' ! @ # $ % ^ & * ( ) _ + [ ] { } ; : ' \" , . < > / ? \ /

"

# . . .

CONVERT="/cygdrive/c/Program Files (x86)/ImageMagick-6.8.4-Q16/convert.exe"
LIM=${1:-23}

if [ ! -z "$2" ]; then rm -f Fonts/*; fi
if [ ! -d Fonts ]; then mkdir Fonts; fi

"$CONVERT" -list font| awk '/Font/ {print $2}' | head -n$LIM | sort -R |
while read f ;do 

    let n=n+1
    printf "%4d/%-4d %s\n" $n $LIM "$f"

    out="Fonts/$f.png"
    txt="Fonts/txt.z"
    err="Fonts/$f.err.txt"

    if [ ! -f "$out" ] && [ ! -f "$err" ]; then    
        echo -e "$f\n" > $txt
        cat "$0" |sed 's/\t/    /g'>> $txt
        "$CONVERT"  \
            -page a3 -font "$f" \
                -kerning 0 -density 90 -pointsize 16 -interline-spacing -2 \
            -trim +repage  -bordercolor white  -border 5 \
            text:$txt \
            "$out" 2> "$err"
        if [ $? -ne 0 ]; then
            printf "%9s %s\n" " " ERROR

            else    rm -f "$err" ;fi
    else
            printf "%9s %s\n" " " SKIPPING
    fi
done

Exemplo de saída

$ time sh fonts.sh  234 clean
   1/234  Candara-Italic
   2/234  Gabriola
   3/234  Candara-Bold
          SKIPPING
   4/234  Lucida-Sans-Unicode
   5/234  Corbel-Bold
   6/234  LilyUPC-Italic
   7/234  FreesiaUPC-Bold-Italic
   8/234  Kartika
   9/234  FreesiaUPC
  10/234  JasmineUPC-Italic
  ✂ (...)
  41/234  Courier-Oblique
          ERROR
  42/234  Helvetica
          ERROR
  ✂ (...)
 real    4m22.149s    

 $ du -h Fonts
 361M    Fonts

referencess: link
link

    
por 05.04.2013 / 03:50