Jump to content
eatg75

[Resolvido] Fontconfig faz o 'replace' errado de fontes.

Recommended Posts

eatg75

Oi boa noite pessoal, estou com um problema com o fontconfig, criei um ficheiro de configuracao global (/etc/fonts/local.conf) para o fontconfig de acordo com as minhas preferencias e gostos, tenho uma instrucao em que substituio a fonte monospace por omissao por Aurulent Sans Mono SZ (que e uma modificacao minha da font eAurulent Sans Mono, tendo como diferenca um slash no carater 0), mas, o fontconfig nao faz o match corretamente e substitui a fonte mono por omissao por uma fonte variable width qualquer.

Eis o meu ficheiro de configuracao :

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>
 <!-- more custom fonts available to everyone -->
 <dir>/opt/my-precious-fonts</dir>

 <!-- replace this monospace font for the system's default monospace -->  
 <match target="pattern">
<test qual="any" name="family">
  <string>consolas</string>
</test>

<edit name="family" mode="assign" binding="same">
  <string>monospace</string>
</edit>
 </match>

 <!-- replace this monospace font for the system's default monospace -->  
 <match target="pattern">
<test qual="any" name="family">
  <string>bitstream vera sans mono</string>
</test>

<edit name="family" mode="assign" binding="same">
  <string>monospace</string>
</edit>
 </match>
 <!-- replace this monospace font for the system's default monospace -->
 <match target="pattern">
<test qual="any" name="family">
  <string>monaco</string>
</test>

<edit name="family" mode="assign" binding="same">
  <string>monospace</string>
 </edit>
 </match>

 <!-- replace this monospace font for the system's default monospace -->  
 <match target="pattern">
<test qual="any" name="family">
  <string>droid sans mono</string>
</test>

<edit name="family" mode="assign" binding="same">
  <string>monospace</string>
</edit>
 </match>

 <!-- make this font the default monospace font, NOTE: this instruction should be set after the above lines! -->
 <match target="pattern">
<test qual="any" name="family">
  <string>monospace</string>
</test>

<edit name="family" mode="assign" binding="same">
  <string>aurulent sans mono sz</string>
</edit>
 </match>

 <!-- make applications use sans-serif fonts instead of serif one's -->
 <match target="pattern">
<test qual="any" name="family">
  <string>serif</string>
</test>

<edit name="family" mode="assign" binding="same">
  <string>sans-serif</string>
</edit>
 </match>

 <!-- make this font the default sans-serif font -->
 <match target="pattern">
<test qual="any" name="family">
  <string>sans-serif</string>
</test>

<edit name="family" mode="assign" binding="same">
  <string>cantarell</string>
</edit>
 </match>

 <match target="font">
<edit name="hinting" mode="assign">
  <bool>true</bool>
</edit>

<edit name="hintstyle" mode="assign">
  <const>hintslight</const>
</edit>

<edit name="autohint" mode="assign">
  <bool>false</bool>
</edit>

<edit name="antialias" mode="assign">
  <bool>true</bool>
</edit>

<edit name="rgba" mode="assign">
  <const>rgb</const>
</edit>

<edit name="lcdfilter" mode="assign">
  <const>lcddefault</const>
</edit>
 </match>
</fontconfig>

Alguem poderia me ajudar?

EDIT x2: alterei a identacao.

Edited by eatg75

Victarion seized the dusky woman by the wrist and pulled her to him.

Victarion - She will do it. Go pray to your red god. Light your fire, and tell me what you see.

Moqorro's dark eyes seemed to shine.

Moqorro - I see dragons.

Share this post


Link to post
Share on other sites
eatg75

O fontconfig e uma feramenta que permite configurar fontes de forma global para todas as applicacoes que utilizam o freetype2, pode-se configurar parametros os quais seram utilizados depois pelo freetype2 para desenhar as fontes, pode-se configurar uma panoplia de parametros, assim como rejeitar fontes dependendo de varios parametros, assim como fazer a substituicao de fontes por outras (que e o que estou tentando alcansar).

Por exemplo aqui no P@P a classe de CSS para enfeitar o codigo tem como as duas fontes principais o Consolas e o Monaco, exatamente nessa ordem,

suponhamos que nao tinha a fonte Consolas instalada e tivesse o Monaco instalado, o meu browser iria perguntar ao fontconfig para lhe dar o caminho para fonte Monaco, o fontconfig assegura a fonte existe e fornece o caminho no disco e o broweser desenha o texto utilizando essa fonte. Suponhamos que eu nao gostasse dessa fonte, entao configuraria o fontconfig para substituir essa fonte por outra do meu gosto, e ja esta. Com o fontconfig posso substituir varias fontes por uma a meu gosto de forma a ter uma experienca consistente em relacao a fontes em varias sites, browser, ides, editores de texto, etc. ao invez de estar a configurar cada uma delas.


Victarion seized the dusky woman by the wrist and pulled her to him.

Victarion - She will do it. Go pray to your red god. Light your fire, and tell me what you see.

Moqorro's dark eyes seemed to shine.

Moqorro - I see dragons.

Share this post


Link to post
Share on other sites
Rui Carlos

Não percebi bem o ponto do teu post. Em todo o caso, o meu comentário foi por causa de me lembrar de ver no Linux preferências de sistema para fontes. No caso do Debian 6, que é o que tenho instalado, tenho acesso às mesmas em System > Preferences > Appearance > Fonts.

Share this post


Link to post
Share on other sites
eatg75

E porque nao sabes para que serve o fontconfig e nao sabes como funcionam as fontes! Aquilo que se faz editando o(s) de configuracao do fonconfig nenhuma front end consegue fazer (nem KDE Settings ou o Gnome Preferences). Suponhamos que estas na China e e falas e escreves somente em mandarin e acabaste de instalar a tua distribuicao Linux preferida e vesitas um site em mandarin ou um outro idioma qualquer e as folhas de estilo para aquilo por infelicidade escolherem como fontes para a declaracao de font-family ou font uma fonte que nao suporta o Unicode e exista no teu disco o rendering engine do teu browser ira desenhar os carateres que nao existem nessa fonte como quadrados, com o fonte config podes configurar isso de forma a nao ter esta inconviniencia. Suponhamos que nao queres que nenhuma fonte bitmap fornecida a nenhuma aplicacao podes configurar o fontconfig de forma a que isso seja posivel.

A tarrefa mais deficil, mais cansativa e que consome mais tempo a um designer de fontes no processo de criacao de uma fonte e a de font hinting pois ele de manualmente configurar isso, por esta mesma razao alguns designers deixam esta tarrefa por fazer. E como o freetype2 ira desenhar estas fontes se o byte-code interpreter nao esta presente no ficheiro da fonte, se souberes quais as fontes que caiem nessa categoria podes configura-las uma a uma para utilizar o funcionalide autohint do freetype2.


Victarion seized the dusky woman by the wrist and pulled her to him.

Victarion - She will do it. Go pray to your red god. Light your fire, and tell me what you see.

Moqorro's dark eyes seemed to shine.

Moqorro - I see dragons.

Share this post


Link to post
Share on other sites
Rui Carlos

É natural que os ficheiros de configuração te dêem mais opções que as UI gráficas do SO. Mas não me pareceu que para a tarefa que indicaste no primeiro post (substituir a fonte monospace por omissão) fosse necessário ir aos ficheiros de configuração. (Também posso ter sido eu a perceber mal o problema...)

Share this post


Link to post
Share on other sites
eatg75

Nenhuma fronted que existe premite fazer isso. Experimenta ir a Preferences > Apearence > Fonts e tenta substituir o Consolas por DejaVu Sans Mono.


Victarion seized the dusky woman by the wrist and pulled her to him.

Victarion - She will do it. Go pray to your red god. Light your fire, and tell me what you see.

Moqorro's dark eyes seemed to shine.

Moqorro - I see dragons.

Share this post


Link to post
Share on other sites
eatg75

Descobri a algumas semanas atras que o problema estava nas metadatas da fonte em si e nao a configuracao do fontconfig.

Edited by eatg75

Victarion seized the dusky woman by the wrist and pulled her to him.

Victarion - She will do it. Go pray to your red god. Light your fire, and tell me what you see.

Moqorro's dark eyes seemed to shine.

Moqorro - I see dragons.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.