Meu Deus! Eu fui pedir ajuda, mas uma caixa de dica apareceu evitando pedir ajuda ... hehe assim, três dias depois eu fiz isso sozinho, então eu pensei em compartilhar algumas dicas extras.
Puxar o arquivo para o Java é muito fácil.
Para importar o uso de glifos (pseudocódigo) ,
BufferedInputStream bf = new BufferedInputStream(importGBKFileStream);
byte glyphline[] = new byte[glyphBitWith/8]; // 64 for GBK 64
while (bf.available() > 0) {
bf.read(glyphline);
for(int i = 0 ; i < glyphline.length ; i++){
String s = ("0000000" + Integer.toBinaryString(0xFF & glyphline[i])).replaceAll(".*(.{8})$", "$1");
... etc
Para exibir os glifos no EPD
Depois de algumas conversas, você precisa enviar dois Bytes para o EPD para cada personagem. Esses caracteres começam em (byte superior) 0x81, (byte inferior) 0x40.
Esta é uma boa referência, link para ver como o conjunto de dados GBK é apresentado. Outra referência útil são estas
link
Criando uma fonte personalizada (pseudocódigo)
Faça o download de um arquivo .ttf e abra-o em java
Font font = Font.createFont(Font.TRUETYPE_FONT, inttf);
font = font.deriveFont((float) 64);
// for all characters in ASCII table
text = Character.toString(chara);
img = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_BYTE_BINARY);
g2d = img.createGraphics();
g2d.setColor(Color.BLACK);
g2d.fillRect(0, 0, imageWidth, imageHeight);
g2d.setColor(Color.WHITE);
g2d.setFont(font);
fm = g2d.getFontMetrics();
// for all ascii values 0 - 256, xpos
g2d.drawString(text, 0, fm.getAscent());
// use the character and the derrived with from the FontMetrics to
// create a map for spacing the text manually
characterWidthLogger(chara, textWidth);
// should have the image as a dataByte buffer
WritableRaster raster = img.getRaster();
DataBufferByte data = (DataBufferByte) raster.getDataBuffer();
// output the data to a file or screen
displayByteArray(data ,imageHeight, imageWidth);
O characterWidthLogger () é importante. No micro que controla o EPD eu uso o mapa characterWidth para definir o espaçamento como. Portanto, um comando "Text" se torna 4 comandos separados ((x0, y0, "T"), (x0 + largura 'T ", y0" e ") etc.) e cada caractere é convertido para o formato chinês. Onde você coloca os glifos dentro de seus arquivos GBK é com você. O epd só permite que os três arquivos GBK32, GBK48 e GBK64. Eu copiei sobre os glifos chineses no início 0x81 superior, menor 0x80. So T, que é ascii 0x54 torna-se 0x81, 0xD4.
Espero que ajude
Hayden