Obrigado a Julio Marchi pelo espaço cedido na MSX All
 

MSX Font Editor

  Esse projeto tem como objetivo desenvolver um editor de fontes para o MSX, onde é possível ler, editar e salvar fontes do formato de 8x8 do MSX, além de converter fontes do PC para o MSX e criar um mosaico de caracteres.

  1. Introdução
  O projeto MSX Font Editor tem como objetivo recriar o antigo Alfabeto Plus em um ambiente de desenvolvimento mais moderno como o Java, melhorando suas funcionalidades e adicionando o recurso de criação de mosaico de caracteres.

 

  A interface do programa é simples de usar e intuitiva, apresentando ícones nos botões e o recurso de "tooltip", que dá dicas sobre a funcionalidade de um botão.

  Principais novidades:

  • Agora também é possível abrir várias fontes ao mesmo tempo e navegar por elas, sem perder o trabalho feito. Isso porque cada fonte aberta tem seu próprio buffer, sendo possível desfazer e refazer o trabalho tanto na área das fontes, como na área do caractere editado.
  • A renderização de fontes do PC é capaz de encaixar corretamente os caracteres no espaço reservado a ele sem ter que fazer ajustes.
  • O novo recurso de mosaicos permite a criação de figuras nas screens 0 e 1.


  2. Protótipo
  O Alfabeto Plus foi o projeto precursor, onde era possível ler, editar e gravar fontes do MSX no formato 8x8. Além disso, era possível renderizar fontes do Windows e exportar no formato do MSX.

 

  Como usar:

  O Alfabeto Plus é bem simples de usar. Os controles são:

  - Abrir: lê alfabeto no formato de 8x8 do MSX.
  - Salvar: salva alfabeto do editor no formato de 8x8 do MSX.
  - Importar: importa uma fonte do Windows para o editor.
  - Fonte a importar: seleciona uma fonte do Windows para importar.
  - b: aplica o negrito à fonte importada.
  - i: aplica o itálico à fonte importada.
  - Controle de posicionamento: valor do deslocamento da fonte importada em X e Y.
  - <<: atualiza a letra editada para o alfabeto.

  O editor possui duas áreas: a primeira com todo os 256 caracteres, permite selecionar qual letra a ser editada ponto a ponto no editor de letras; o segundo é o editor de letras, que permite a edição de uma letra selecionada ponto a ponto.
  Para escolher uma letra, basta clicar sobre ela no editor área do alfabeto. Para acender ou apagar um pixel da letra ativa, basta clicar sobre o pixel no editor de letras.

  Download:

  Manual - Manual em português.

  3. Versão atual - MSX Font Editor
  O programa foi escrito na linguagem Java e pode rodar em diversas plataformas com o mesmo arquivo executável. Para isso, abra uma janela de comandos no seu sistema operacional e digite:

java -jar mfe.jar

  Ao abrir a janela principal, o usuário tem a disposição um alfabeto vazio.
  A área da fonte é a área que exibe todos os 256 caracteres de uma fonte, e está localizada à esquerda da janela do programa. A área ao lado é a área de edição de caracteres, com um grid de de 8x8 pixels, e que serve para criar ou modificar um determinado caractere.

 

  Ao clicar na área da fonte sobre um espaço de caractere, ele passa a estar selecionado, alterando a cor de fundo dele para azul e o valor do espaço "Selected character" (vide figura acima). Ao clicar sobre o mesmo caractere, a seleção é removida e nenhum caractere estará selecionado.
  Nesse editor, é necessário selecionar um caractere para que ele possa ser copiado para a área de edição de caracteres ou ser atualizado. Para copiar o caractere selecionado para a área de edição de caracteres, deve-se clicar sobre o botão ">>". Para atualizar o caractere selecionado, clica-se no botão "<<".
  A modificação de um pixel do caractere editado é feita clicando-se sobre ele. O valor do pixel é sempre invertido nessa operação.

  A edição de caracteres possui as seguintes opções de transformação:

  • Desfazer: desfaz a última operação.
  • Refazer: refaz a última operação.
  • Bold: modifica o caractere para negrito.
  • Italic: modifica o caractere para itálico.
  • Inverter: inverte todos os pixels do caractere.
  • Apagar: apaga todos os pixels do caractere.
  • Espelhar verticalmente: espelha o caractere verticalmente.
  • Espelhar horizontalmente: espelha o caractere horizontalmente.
  • Rotacionar: rotaciona o caractere em 90 graus no setido horário.

  É possível aplicar qualquer uma dessas operações a todos os caracteres da fonte. Para isso, deixe o botão "ALL" pressionado. Esse botão modifica o alvo das operações.

  Com a fonte vazia, basta ir selecionando os espaço da fonte, criar o caracteres e copiar para lá.
  Para carregar uma ou várias fontes, primeiro coloque-as no mesmo diretório. Depois clique em "Abrir" e selecione quais fontes deseja abrir.
  Para escolher a fonte ativa, utilize o "browser" localizado abaixo da área da fonte.
  O botão "Salvar" salva a fonte atual.

  Obs: o arquivo no formato ".alf" é um dump da tabela de caracteres do MSX. Na screen 0, pode ser obtido através do comando:

BSAVE"MSX.ALF",&H800,&HFFF,S

  A tabela é a mesma para as screens 0 e 1, mas o endereço delas na memória de vídeo é diferente. A entrada da tabela de caracteres na screen 1 é a posição 0.

  4. Mosaicos
  A técnica de mosaicagem permite a formação de figuras nas screens 0 e 1 utilizando blocos de 6x8 ou 8x8 pixels. Esse recurso já existia no aplicativo de MSX Graphos III, mas poucos o conheciam.
  Uma das últimas versões do programa "autoexec.bas" da Riosoft também utilizava o recurso de mosaicagem para criar o logo da empresa na screen 0.
  O tamanho do desenho é limitado, pois permite utilizar apenas 256 blocos, que é o tamanho da tabela ASCII do MSX.

 

  O MSX Font Editor permite a importação de imagens monocromáticas (preto e branco) do PC para convertê-las em mosaicos. Além de cortar os blocos e enviá-los para a tabela de caracteres, o programa permite exportar um código em Basic para desenhar a figura no MSX.

 

  Opções do editor de mosaicos:

  • Abrir - abre um arquivo de imagem do PC. Deve ser preto e branco, conforme visto na imagem acima.
  • Salvar - salva um programa em Basic do MSX para ler o mosaico do arquivo de alfabeto ou contendo o mosaico no código.
  • Mosaic - cria o mosaico na fonte atual do editor de fontes, a partir da posição indicada.
  • Close - Fecha o editor.
  • Start at - posição inicial da tabela de ASCII que começa o desenho.
  • Mosaic mode - criar o mosaico para a screen 0, com blocos de 6x8 ou screen 1, com blocos de 8x8.
  • Basic file type - tipo de arquivo Basic a salvar: "font file" lê desenho de um arquivo ".alf" ou "data included", que salva os dados mosaico no programa.

  Ambos os arquivos em Basic são capazes de imprimir a figura na tela.
  No caso do tipo "font file", é necessário salvar a fonte ".alf" mais o arquivo ".bas". Além disso, é necessário modificar o nome de arquivo genérico "FONT.ALF" na linha 30 do programa para o nome da fonte salva.
  A criação do mosaico na fonte em uso somente sobrescreve os caracteres usados. Para desfazer essa ação, utilize a opção "Undo" com o "ALL" pressionado.

  5. Download
  Programa:
  mfe_v1.1_bin.zip - Executável Java do MSX Fonte Editor.
  mfe_v1.1_src.zip - Fontes do MSX Fonte Editor.
  uml.gif - Diagrama UML do projeto.

  Autor: Marcelo Silveira
  Licença: GNU-GPL v. 3.x - http://www.gnu.org/licenses/gpl-3.0.txt.

  Tutorial:
  img2shp - tutorial de como criar imagens próprias para o mosaico.

  Obs: o programa img2shp, que converte imagens para o shape do Graphos III, pode ser encontrado na seção tools.

  Misc:
  exemplos.zip - Contém exemplos de um mosaico, com a imagem original incluída.
  fontes.zip - Duas fontes no formato do MSX.


Marcelo Teixeira Silveira
Engenheiro de Sistemas e Computação - UERJ
Mestre em Engenharia de Computação - UERJ

© MarMSX 1999-2018