Re: Cerco (offro) uno script per costruire un font-book

#58710
Up
0
Down
::


Ci sto lavorando sopra. Al momento ho messo su qualcosa di macchinoso, ma che sembra funzionare; mi serve comunque qualche aiuto.

    dò nel terminale il comando `find / -name \*.otf -print`

    Mi copio il risultato in un file di testo, diciamo “fonts.txt”

    Ho scritto uno script python, diciamo “fontbook.py” `#!/usr/bin/env python
    # -*- coding: utf-8 -*-

    def maketexfile():
    flist = open('fonts.txt','r')
    slist=[]
    for line in flist:
    if line[0]=='/': slist.append(line)
    flist.close()

    slist.sort()

    texfile = open('fontlist.tex','w')
    for line in slist:
    line = line.rstrip('\n')
    texfile.write('\\font\currfont=”[%s]” at 12pt \n'% line)
    texfile.write('\line{\\namefont %s\hfil}\par\hfil\hbox to 15cm{\currfont\sample}\medskip \n'% (line.rpartition('/'))[2])
    texfile.close()

    if __name__ == '__main__':
    maketexfile()
    ` Il nucleo dello script è il blocco “for line in slist”: per ogni linea di testo (contenente il path completo dei files *.otf presenti sul sistema) scrive nel file fontlist.tex due linee di testo secondo il seguente schema `\font\currfont=”[]” at 12pt
    \line{\namefont \hfil}\par\hfil\hbox to 15cm{\currfont\sample}\medskip
    `

    Mi sono altresì preparato un piccolo file TeX (fontbook.tex) che definisce \sample e richiama il file fontlist.tex prodotto dallo script di cui sopra `\font\titlefont=”[/home/sam/.local/share/font-manager/Library/A/afont.otf]” at 18pt
    \font\namefont=”[/home/sam/.local/share/font-manager/Library/A/anotherfont.otf]” at 12pt

    \def\sample{Science is knowledge which we understand so well that we can teach it to a computer; and if we dont fully understand something, it is an art to deal with it.}

    \line{\hfil\titlefont\bf The Font Book\hfil}\bigskip

    \input fontlist.tex

    \bye `

    Compilando questo file con XeTeX si ottiene, finalmente, il FontBook dei fonts presenti sul mio sistema.

Tutto funziona bene, tranne il fatto che il TeX è più rognoso di quel che sembra: la frase “\sample” non viene spezzata in più righe dentro il box in cui viene composta, ma resta una unica riga che finisce fuori il foglio.

Come posso correggere? In altre parole: come posso modificare lo schema di due righe da inserire nel file fontlist.tex?

Mi si scusi la lunghezza del post. Grazie per ogni aiuto. Ciao.

Sam Qasbah

Go to top