Jak mogę zobaczyć przykładowy tekst renderowany we wszystkich czcionkach w moim systemie?

2

Chcę wybrać czcionkę (technicznie, a krój pisma lub rodzina czcionek) z licznych, które mam w moim systemie (Windows), do użytku w niektórych (nie TeX) aplikacjach, np. LO Writer.

Aby to zrobić, chcę być w stanie zobaczyć jakiś tekst („Szybki brązowy lis” lub inny taki) renderowany wszystko czcionki, które zainstalowałem. Oczywiście czcionki niełacińskie wymagają tekstu, który pokazuje odpowiednie kombinacje glifów i glifów (np. Ciągłe formularze w języku arabskim, znaki interpunkcyjne i znaki kantylacji w języku hebrajskim).

Jaki jest dobry sposób, aby to zrobić?

Dodatkowe pytania dla 1337 użytkowników:

  • Linux, nie tylko Windows
  • Ogranicz to tylko do czcionek hebrajskich, tylko czcionek arabskich, tylko czcionek łacińskich itp.
einpoklum
źródło
Czy zakładamy, że nie masz jeszcze nirsofts FontView? nirsoft.net/utils/windows_fonts_viewer.html Jak chcesz, czego nie możesz z tym osiągnąć?
Psycogeek
@Psycogeek: Spróbuję tego.
einpoklum

Odpowiedzi:

2

ImageMagick obsługuje renderowanie dowolnych czcionek i tekstu. Poniżej znajduje się przykładowy skrypt, który przejdzie przez dostępne czcionki i wyrenderuje tekst. Nie jestem pewien, jak bardzo rozumiesz bash, więc po prostu założę, że skrypt ma sens.

Uruchomiłem to w Cygwin i Gentoo, więc jest to realne rozwiązanie dla obu systemów. Nie jest to jednak idealne, ponieważ convert.exe nie jest w stanie obsłużyć wszystkich czcionek (w obu systemach). Chyba muszą to być TrueType. Sprawdź dokumenty dla opcji programu do konwersji (antyaliasing, kadrowanie). Możesz zaktualizować skrypt, jeśli znajdziesz kilka przydatnych opcji.

Plik: 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

Przykładowe wyjście

$ 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

Terminus


ProFont

referencje:
http://www.imagemagick.org/Usage/text/#text
http://www.imagemagick.org/script/binary-releases.php#windows

Ярослав Рахматуллин
źródło