
Qiji-font (qijiti) é:
? Declaração: Minhas fontes foram divulgadas recentemente na Internet, mas todas são incompreendidas como "Ling 'Dongqi Ji Style". Meu nome é Lingdong , e a fonte é Qiji ; Se você quiser ser o último, também deve usar o " estilo Lingdong Qiji " como a coisa mais importante, então espero que você possa saber. ? ♂️

| Glifos únicos | Personagens cobertos* | Livros digitalizados |
|---|---|---|
| 4569 | 5916 | Poemas de Li Changji/Explicação de Huainan Honglie |
* As formas simplificadas voltam às formas tradicionais, as variantes tradicionais mais comuns voltam a formas variantes menos comuns.
Etapa I: Baixe PDFs de alta resolução (de shuge.org) e divida páginas em imagens.
Etapa II: Coloque manualmente uma grade em cima de cada página para gerar caixas delimitadoras para caracteres (potencialmente substituíveis por um algoritmo automático de detecção de canto).

Etapa III: Gere uma máscara de baixo poli para cada caractere na grade e salve as miniaturas (usando o OpenCV). Primeiro, o canal vermelho é subtraído da escala de cinza, a fim de limpar as anotações impressas em tinta vermelha. Em seguida, a imagem é limitada e alimentada no algoritmo de rastreamento de contorno. Uma métrica é então usada para descartar formas que é improvável que façam parte do caráter de interesse. (Esta etapa não produz o glifo final, apenas uma extração rápida e suja para o processamento intermediário.)

Etapa IV: Alimente cada miniatura uma a uma no OCR chinês da rede neural para reconhecer os caracteres (atualmente usando chinesesCr/Darknet-OrC, baixa taxa de detecção, precisão medíocre, muito lenta na CPU, procurando melhores alternativas).
Etapa V: Junte manualmente a saída do OCR: escolha a instância mais bonita de um determinado personagem e sinalize caracteres reconhecidos incorretamente.

Etapa VI: para o conjunto de caracteres final, gerar automaticamente a renderização de varredura fina de cada caractere. Cada caractere é colocado em seu centro "visual", contando cumulativamente os pixels da esquerda e da direita, bem como superior e inferior, de modo que o "peso" do personagem esteja nas linhas centrais, em oposição à centralização da caixa delimitadora. Dois métodos de limiares são usados, o limiar global é dilatado e atua como uma máscara para o limiar adaptativo, preservando assim os detalhes enquanto bloqueia os boogers ao redor.

Etapa VII: O software de rastreamento de raster para vetor é usado para converter as renderizações rasters em SVGs. A biblioteca Python da Fontforge é usada para gerar o arquivo de fonte final. Feito!
À medida que o número de caracteres cresce, o procedimento acima será cada vez menos eficiente, uma vez que novos caracteres não vistos obtidos de cada livro processados serão mais raros e raros. Um método alternativo que envolve clicar apenas em caracteres invisíveis para escolhê -los está em construção.
Requisitos:
pip3 install opencv-python )brew install fontforge ) O código principal está contido no /workflow e corresponde às etapas descritas acima. A documentação para o código ainda está para ser feita (em breve), portanto, fique à vontade para perguntar se estiver interessado. Como você deve ter notado, há uma tonelada de trabalho envolvido em fazer uma fonte chinesa, então a contribuição é muito bem -vinda :)
Folha de todos os glifos exclusivos classificados pelo ponto de entrada Unicode, clique para aumentar. (Este é o Losty JPEG, para PNG completo, verifique aqui, para SVG, Run node workflow/make_sheet.js )
