Este é um repositório muito básico para minha fonte do terminal IBM 3161 ASCII.
Este repositório contém uma versão de bitmap da fonte, bem como uma versão do TrueType (um pouco menos completa) criada pelo programa "rastreamento" da GNU Unifont, que ele usa para criar suas versões TrueType. O TrueType cobre 0x00 a 0xff (o conjunto BASIC ASCII e o primeiro banco 'estendido'), enquanto eu estendi a fonte para cobrir cerca de 0x17f nas versões Bitmap. Além desses limiares, a fonte mais ou menos recorre aos glifos da Unifont, que quase corresponde aos glifos da fonte IBM, quando aplicável. Isso também significa que eu posso usar a fonte para outros idiomas como o japonês, que é útil em um terminal se você for de uma área do mundo que não usa o alfabeto latino tanto ou quando lida com arquivos de usuários de outro idioma em uma janela do terminal.
Criar o TrueType na medida em que já tenha sofrido muito esforço, devido a uma tomada de decisão falha no início do processo; Enquanto eu pretendo fazer melhor no futuro, o fato é que consertar/traduzir os glifos de bitmap em TrueType é muito esforço - demais para algo que eu raramente uso. De qualquer forma, todos os itens essenciais ainda estão no TTF, e espero que continue lentamente a melhorar o TrueType daqui para frente.
Também incluí os arquivos do banco de dados FontForge Spline Font (SFD), que são texto não compactados (e, portanto, muito grandes; desculpe). Se você deseja apenas usar a fonte, sugiro o download do zip na página 'Releases' em vez de clonar o repo.
Eu usei o GNU Unifont como base porque parece um pouco semelhante e cobre muito unicode acima do ASCII básico definido meu terminal IBM suportes. Além disso, suas fontes continham algumas ferramentas úteis para executar automaticamente transformações nas fontes.
Desde que criei essa fonte pela primeira vez, tenho encontrado mais e mais formatos aos quais posso convertê -la! Sempre que encontro outro formato para o portamento, faço isso e depois adiciono uma confirmação aqui. Mais recentemente, uma versão Amiga (feita no Workbench 1.3 em um Amiga 500), bem como Minecraft, Rockbox e uma fonte específica de X11 emacs (para corrigir problemas de renderização estranha) foram adicionados.
Esta fonte também está disponível em um pacote de recursos compatíveis com 1.11 e sub-sub-sub-de-altura. Com pequenos ajustes, também deve funcionar para versões anteriores e futuras. Convenientemente, o Minecraft usa o GNU Unifont para texto Unicode, que também é a base da minha fonte - isso simplificou a adição modificando algumas ferramentas incluídas na distribuição de origem Unifont para exportar a fonte.
Isso depende da sua plataforma, mas tentarei estabelecer o que funciona onde. Para alguns formatos exóticos (por exemplo, Minecraft, Rockbox), as direções estão nos respectivos subdiretos das portas.
Nas plataformas UNIX/Linux e Windows, as versões do Bitmap se beneficiam de não obter nenhuma tentativa de renderização de subpixels de software como a fonte TrueType. Provavelmente, isso também é verdade no OS X, mas eu só testei a versão .dfont da fonte no OS X por não ter acesso regular ao OS X. (O DFONT é uma fonte apenas para bitmap, então provavelmente não será subpixel renderizado.)
No Windows, você deseja o arquivo .fon do Windows Bitmap e/ou a fonte TrueType (.ttf). Eles podem ser copiados manualmente para C:WindowsFonts , ou instalados no visualizador da fonte.
Em (não X/Nextstep) distritos Unix e Linux com X11, você deseja o OpenType Bitmap (.Otb) e/ou a fonte TrueType (.ttf).
Há também uma fonte PCF (fonte X11 da velha escola) que pode ser uma boa idéia instalar para programas como xterm e a versão GUI do emacs .
A instalação das três versões (TTF, OTB e PCF) permite usar a fonte com praticamente qualquer programa em um sistema UNIX. O TTF e o OTB podem ser selecionados com a maioria dos programas de GUI 'escolhidos de fontes', enquanto o PCF é útil para programas X11 tradicionais como xterm e geralmente é definido através de um arquivo de configuração de texto como ~/.Xresources ou ~/.emacs .
Eu acho que isso será o mesmo nos BSDs com o X11, como é para distritos Linux, pois eles compartilham uma base de código para seus servidores X e Freetype.
Definitivamente, é o mesmo em OpenBSD e FreeBSD, onde eu tentei pessoalmente.
As instruções para instalar a fonte X11 PCF estão no arquivo x11/readme.md.
Copie o arquivo .ttf para um caminho de fonte local (como ~/.fonts , ou para um caminho de fonte em todo o sistema (como/usr/share/fonts/). Esses caminhos provavelmente são dependentes de distro e OS.
Isso apenas com certeza se aplica a Debian e Derivativos. Pode ser diferente em distritos que eu não tentei, mas aposto que funciona lá também. Copie linux-console/IBM3161.psf para /usr/share/consolefonts/IBM3161.psf . Em seguida, editar /etc/default/console-setup e adicione/altere a linha FONT= para ler:
FONT="IBM3161.psf"
Você terminou. Você pode ter que reiniciar para mostrar em todos os lugares.
O programa setfont Command Line também deve ser capaz de aplicá-lo em um TTY específico de forma única.
To-Do: Escreva a instalação do console FreeBSD. Atualmente, não consegui mudar em todos os terminais, apenas o principal em que você assiste ao processo de inicialização. Espero não precisar recompilar o kernel para obtê -lo em todos os lugares.
Garanto -lhe que funciona no FreeBSD, no entanto.
Nos sistemas da Apple (OS X), você deseja usar o arquivo '.dfont'. Se isso falhar, tente o .ttf ou o .pt3 (PS Tipo 3). IIRC, o processo de instalação foi relativamente intuitivo.
Ainda não sei como seria instalado no Mac OS "clássico". Se alguém tiver um sistema 7 ou mais baixo que eu possa usar para iniciar meu Mac Plus, informe -me sobre isso (ou você pode me enviar um Mac clássico melhor!)
As instruções para instalar a versão Minecraft da fonte estão no minecraft/ Diretório.
O Rockbox é um firmware alternativo para muitos MP3 players. Foi testado no meu iPod Classic. As instruções estão obviamente no rockbox/ Diretório.
Não posso mais apoiar esta porta até conseguir um novo cartão Compactflash, pois o do meu iPod acabou de falhar e o disco rígido falhou há muitos anos. Sinta -se à vontade para me fazer uma pergunta, mas talvez eu não consiga responder.
Existem duas maneiras principais de fazer isso. O primeiro é apenas usar a fonte TrueType. Se bem me lembro, isso espanca tudo corretamente.
A versão OTB regular é acolchoada para 16px, independentemente de sua largura real. Por causa disso, não é recomendado.
No entanto, o arquivo OTB 8wide/IBM3161APL.otb deve funcionar. Isso é (se bem me lembro) nomeado como tal porque é derivado da variante APL da Unifont. Descobri que a variante da APL da Unifont parece render -se corretamente em Emacs e, por isso, fiz uma variante semelhante para minha própria fonte.
Não tenho certeza se é porque é a variante da APL, ou porque talvez o Emacs tente priorizar as fontes do estilo pcf sobre as otb . Ou talvez algo mais relacionado ao Freetype. Seja qual for o caso, se você instalar IBM3161APL.otb em algum lugar (eu o tenho em ~ ~/.emacs ~/.fonts/ ), poderá fazê-lo funcionar no GNU EMACS com mx customize , ou então adicione manualmente a custom-set-faces ~/.emacs.d/init.el .
Um exemplo (do meu ELISP custom-set-faces ) segue.
A linha mais importante a se concentrar é a que contém a string IBM3161APL . O resto é fornecido apenas para o contexto. Não há quase nada que eu não goste tanto do contexto insuficiente ao analisar as amostras de código, especialmente em idiomas desconhecidos.
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:family "IBM3161APL" :foundry "PfEd" :slant normal :weight normal :height 128 :width normal))))
'(term-color-blue ((t (:background "#2272D9" :foreground "#2272D9"))))
'(term-color-cyan ((t (:background "#06989A" :foreground "#06989A"))))
'(term-color-green ((t (:background "#4E9A06" :foreground "#4E9A06"))))
'(term-color-magenta ((t (:background "#A168AB" :foreground "#A168AB"))))
'(term-color-red ((t (:background "#CC0000" :foreground "#CC0000"))))
'(term-color-white ((t (:background "#D3D7CF" :foreground "#D3D7CF"))))
'(term-color-yellow ((t (:background "#C4A000" :foreground "#C4A000"))))
'(tooltip ((t (:inherit tooltip-ui :background "lightyellow" :foreground "black")))))
Se alguém sabe por que essa variante IBM3161APL realmente funciona quando o OTB comum não, por favor, conte -me sobre isso. Eu realmente gostaria de saber!
Eu arranhei a fonte da fonte do meu IBM 3161 à mão através do modo "teste" interno, onde imprime todo o seu caractere ASCII definido em uma única tela. Como resultado, não posso garantir que seja 100% preciso em termos de espaçamento entre os caracteres, mas posso dizer que pessoalmente ainda não notei nada errado com ele. Eu o usei no meu emulador de terminal exclusivamente há cinco meses.
Você pode encontrar algumas das imagens que usei aqui (embora eu tenha outras pessoas que eu fiz com um CRT Amber diferente; ainda preciso desenterrar esses arquivos).
Como tal, estou tão confiante quanto se pode ser usando adivinhação e (até certo ponto) traçando as letras em CAD e transformando minhas fotos da tela para corrigir a curvatura do CRT. Estou certo de que os pixels verticais são precisos, pois eu consigo entender as varreduras individuais do feixe de elétrons nas minhas fotos. Estou relativamente certo de que os pixels horizontais são precisos com base no senso comum, o fato de que a maioria dos caracteres pareceria muito incorreta se mudasse sobre um pixel e de alguma trigonometria que eu fiz usando os traçados CAD. O caractere 0x7f é um padrão de quadro -verificações, que facilitou a descoberta de qual a proporção de cada 'pixel' está no CRT próximo ao centro da tela.
Se eu tivesse um dumper rom, também poderia despejar as ROMs dentro do terminal, pois todas elas são angustiadas. Isso pode acontecer no futuro, mas eu tenho usado essa fonte dentro dos emuladores do terminal e em outros lugares no último ano e ainda não encontrei nenhum problema.
Se você quiser invadir isso você mesmo, sugiro usar o arquivo .hex como um ponto de partida se quiser gerar versões TrueType. Mescre -o com as fontes hexadecimais da Unifont.
Atualmente, minha fonte não fornece a maioria dos caracteres "estendidos" não-ASCII que estão no real 3161 (caracteres acima de 0x7F ). Mesmo os personagens que possuem equivalentes Unicode não os têm associados aos mesmos 'números' que no terminal, e eu não sou inteligente/talentoso/obsessivo o suficiente para mapear esses todos, pois nunca os uso. Além disso, alguns personagens não têm um unicode equivalente que eu conheço.
Eu também gostaria de tentar transformar a parte 3161 dela (não toda a unifont) em uma fonte TTF adequada, o que significa que não parece pixelado, mas é feito usando vetores para os vários ângulos no tipo de letra. Se você deseja um exemplo de alguém que fez isso para uma fonte semelhante (mas não idêntica!), Consulte RBanffy/3270Font.
Se alguém quiser adicioná -los, vou apontá -lo para as fotos da tela do terminal no modo de 'teste', que contém uma impressão completa de todos os caracteres, o terminal é capaz de exibir. Sinta -se à vontade para me enviar um pedido de tração!
Esses arquivos de fonte são licenciados sob a licença pública geral da GNU (quando aplicável), a versão 2 ou (por sua opção) uma versão posterior, com a exceção que incorporando a fonte em um documento não constitui por si só uma violação da licença. Os termos completos da licença estão no GNU Unifont's License.txt. Esta licença é herdada porque baseei minha fonte no GNU Unifont para quase todos os caracteres não-ASCII.
If you wish to use only the glyphs that I created (0x00-0x7F in the truetype, or 0x00-0xFF plus unicode superscript and subscript numerical digits in the bitmap), those glyphs are licensed (at your option) under the GNU GPL version 2 or later (with the aforementioned exception regarding embedding), the SIL Open Font License, version 1.1, or the 3-Clause BSD Licença, que é reproduzida abaixo. Além disso, entre em contato comigo se você deseja usá -lo em outro projeto ou produto em termos incompatíveis e prometo que vou acomodar/não um idiota sobre isso. Pode até ser livre.
Copyright © 2017-2023 Wyatt Ward
Redistribuição e uso em formulários de origem e binária, com ou sem modificação, são permitidos, desde que as seguintes condições sejam atendidas:
As redistribuições do código -fonte devem manter o aviso de direitos autorais acima, esta lista de condições e o seguinte aviso.
As redistribuições em formato binário devem reproduzir o aviso de direitos autorais acima, esta lista de condições e o seguinte aviso na documentação e/ou outros materiais fornecidos com a distribuição.
Nem o nome do detentor dos direitos autorais nem os nomes de seus colaboradores podem ser usados para endossar ou promover produtos derivados deste software sem permissão prévia por escrito específica.
Este software é fornecido pelos detentores de direitos autorais e colaboradores "como está" e quaisquer garantias expressas ou implícitas, incluindo, entre outros, as garantias implícitas de comercialização e condicionamento físico para um determinado objetivo. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF Aconselhado sobre a possibilidade de tais danos.
-(de volta ao topo)-