Como você sabe o nome correto a ser usado nas fontes X11 para o XTerm * faceName ou xterm -fa <NAME>?

17

Estou usando o Mac OS X 10.8 e o XQuartz 2.7.2. Fiz o download e coloquei várias fontes TrueType nomeadas *.ttfno meu /Users/<name>/.fontsdiretório. Ao executar o XQuartz, vários arquivos, inclusive, fonts.dirsão criados. Este arquivo possui nomes de fontes X11 de várias codificações etc. para cada fonte que eu instalei.

Meu problema é que eu não posso sempre "descobrir" o nome correto para usar em xterm -fa <NAME>ou na minha .Xresources XTerm*faceNameentrada. Para algumas fontes, o nome da fonte principal, conforme listado no nome detalhado da fonte X11 no fonts.dirarquivo, funciona, enquanto para outras não.

Jason Waldrop
fonte
11
Se ajudar: a página de manual do FreeBSD 10.2 para xterm (1) inclui informações -fae o recurso faceName .
Graham Perrin

Respostas:

23

A seguinte linha única muitas vezes me ajudou muito a encontrar o nome correto da fonte:

$ fc-list | cut -f2 -d: | sort -u

Especialmente com fontes japonesas como 'IPAX0208Mincho', eu nunca seria capaz de adivinhar o nome correto. Se você não se importa com um pouco mais de esforço de digitação, pode até preferir

$ fc-list | cut -f2 -d: | sort -u | less -r

para obter uma saída paginada.

erro de sintaxe
fonte
5

Você pode usar xfontsel para obter o nome correto:

$ xfontsel

insira a descrição da imagem aqui

Escolha a fonte de seu interesse e clique no botão "Selecionar". Isso copiará o nome da fonte para a área de transferência. Use esse nome para executar o xterm. Por exemplo:

$ xterm -font -adobe-helvetica-*-r-normal-*-12-120-*-*-*-*-*-*

Não consigo fazê-lo funcionar no meu sistema (linux) usando "-fa", mas "-font" funciona.

Terdon
fonte
11
Sim, eu sabia usar xfontsel para obter o nome da fonte X11 e usar xterm -font para selecioná-lo. O que é estranho é que, para algumas fontes, eu posso usar xterm -fa <nome da fonte simples> e funciona bem em outras fontes. Eu acho que você deve ter uma ortografia muito específica do <nome da fonte simples> porque se eu pegar uma fonte onde ela funciona e alterar uma letra, ela não funcionará mais. Portanto, minha pergunta básica é como você determina sistematicamente o <nome da fonte simples "" correto "de forma que o xterm -fa funcione.
23412 Jason Waldrop
@JasonWaldrop Ah. Nesse caso, estou perplexo.
terdon
Se isso ajuda (a partir da página man): "... embora xfd aceita um '-fa' opção para denotar FreeType fontes), xfontsel não foi semelhante estendida ..."
Graham Perrin
@ JasonWaldrop você pode estar interessado no comentário acima.
terdon
0

Se você usar o FontBook para carregar a fonte, ele exibirá o nome correto para usar xterm -fa.

Jason Waldrop
fonte
0

Faltam entradas no fonts.aliasarquivo:

/usr/share/X11/fonts/75dpi/fonts.alias

O que esse arquivo faz é fornecer nomes abreviados ("aliases") para as fontes do X Window instaladas. Ao tentar usar um nome abreviado que não está no arquivo, você obtém um comportamento como este ao iniciar o xterm:

lansdale:~> xterm -xrm \*font:courr12
xterm: cannot load font "courr12"

(O xterm aparece e é executado com uma fonte diferente e padrão)

O fonts.aliasarquivo existe devido ao tamanho longo dos nomes de fontes X11. Por exemplo, courr12 é o nome abreviado para:

-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso10646-1

[Na verdade, os nomes longos são 14 campos editáveis ​​diferentes unidos por hífens / hífens. Execute o programa xfontsel para vê-los; começará com todos os campos exibidos com um asterisco, o que significa que não está definido como algo específico.]

Cada linha no arquivo começa com um nome abreviado (um alias), um espaço em branco e, em seguida, o nome longo ao qual aponta / se refere. Dessa forma, você não precisa usar o nome longo o tempo todo, basta configurar um alias e usá-lo. Ao colocar uma nova linha no arquivo, você decide qual será o nome abreviado, apenas o nome X11 completo precisa ter um arquivo de fonte instalado no sistema.

Quando cortei meus dentes nos sistemas Unix nos anos 90, deparei-me com courr12 e mais tarde desejei colocá-lo em fonte (Courier 'Roman' tamanho 12) para meus xterms. Em HP / UX e Solaris, o fonts.aliasarquivo já tinha courr12, então eu poderia apenas colocar "XTerm*font: courr12"no meu .Xdefaultsarquivo e tudo iria funcionar bem.

user855923
fonte