Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Outline

Tofu, ou glifos fantando

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.

Diagnosticar o problema

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.

Solução

Plano A

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.

Plano B

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.

Plano C

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.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.