| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
Glifos são as figuras dos caracteres. Na falta de um glifo, o software usado para exibir o texto mostra um caractere alternativo, geralmente um retângulo branco apelidado de "tofu".
As fontes padrão do asciidoctor-pdf não têm os glifos de todos os caracteres que usei no Python Fluente Segunda Edição. Por isso inicialmente o PDF exibia dúzias de tofu. O PDF é o miolo do livro que vai para gráfica. Tem tudo menos as capas.
O problema não acontece nos navegadores exibindo o livro em HTML: https://pythonfluente.com.
Para diagnosticar o problema, escrevi list_symbols.py que lê stdin ou arquivos de uma lista de argumentos na linha de comando, e gera no stdout um arquivo .adoc com cada um dos caracteres não-ASCII que aparecem nos arquivos de entrada, bem como sua contagem.
O ideal seria configurar o asciidoctor-pdf para usar o conceito de fallback font: uma ou mais fonte alternativas onde encontrar os glifos faltando. Em tese, todos os glifos necessários existem na coleção de fontes Noto.
Mas a fonte Noto distribuída com o asciidoctor-pdf não tem todos os glifos, e minhas tentativas de usar fallback fracassaram.
Eu poderia editar a fonte Noto que vem com o asciidoctor-pdf para incluir algumas dúzias de glifos necessários para o Python Fluente, mas a documentação do Asciidoctor alerta que há vários truques necessários para que uma fonte moderna como a Noto funcionem com a biblioteca prawn em Ruby, usada pelo asciidoctor-pdf, que depende de informações consideradas obsoletas, que as fontes modernas não têm.
Como não sou especialista em fontes, esse plano ficou inviável.
Descobri que a maioria dos tofus estão no capítulo 4 cujo tema é Unicode. Alguns símbolos de operações de conjunto aparecem no capítulo 3, sobre dicts e sets.
Com o prazo acabando, removi os caracteres que apareciam como tofu no capítulo 2, e coloquei notas explicando o problema no capítulo 4.
| Back | FazBrowse Home | New Git URL |