无花的空间--http://wuhua.3geye.net

当你来到我的空间的时候,你会看到很多Google,Nokia,Mobile,J2ME ,Android,3G,无线开发,手机软件,手机软件开发等与Google,手机相关的文章,你千万不要惊讶。这就是我一个专注Google,无线开发的无花。传播知识,分享经验,技术交流是我开空间的直接目的。当然如果有项目开发,我还是很希望赚点外快的。

饶荣庆ID:gooogledev
35119次访问,排名3098好友5人,关注者11
J2EE 2年的开发时间,
J2ME 2年的开发时间
gooogledev的文章
原创 78 篇
翻译 0 篇
转载 3 篇
评论 197 篇
无花的公告

人要吃很多苦才可以长大!

踏实平凡人应该遵守的原则!

与我TM

gooogledev@gmail.com

友情链接

我的j2me创意

Wap浏览器的源代码

用自己写的rms引擎写的电话本

RSS订阅此博客  
用抓虾订阅此博客
用google订阅此博客
用bloglines订阅此博客
    网络封神榜 | 饶荣庆
最近评论
zryStar:嘿嘿,向楼主学习,对这行了解不是很深,希望学到东西
nike shoes:[url=http://www.molybdenum-tungsten.com]tungsten carbide[/url]
[url=http://www.66773388.com]nike shoes[/url]
[url=http://www.66773388.com]jordan shoes[/url]
[url=http://www.66773388……
vvukqr:a href="http://www.xowow.com">WoW Gold
arvin:flags是boolean[] 类型
if(flags)是什么意思
要想取得ChoiceGroup选中的值采用这种方式:
//ChoiceGroup cg;
//len 为cg的选择列长度
booean[] flags = new boolean[len];
cg.getSelectedFlags(flags);

zjsjava:顶,或许以后J2ME的框架对解决移植问题变的容易多了
文章分类
收藏
    相册
    j2me创意图片
    j2me教程
    我的照片
    我的链接
    3G视线
    EasyMF J2ME框架
    Lucene中国
    我的Google
    无花的博客
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 关于点阵字库在J2ME的实现。收藏

    新一篇: Android invalidate 与postInvalidate用法  | 旧一篇: Android文件浏览器的开发

     

    http://www.3geye.net/?3/viewspace-2837

    关于点阵字库在J2ME的实现。
    最近在学习C的过程中无意发现了点阵字库的东西。整理了下,在J2ME实现了下相关的算法。
    下面是DOS的一段话
    对于使用少量的汉字图形程序,完全没有必要带巨大的汉字库来运行,
    只要内存允许,你可以把汉字字模直接定义为数组的信息存储在EXE文
    件里。通过这个工具,你可以把单个字模信息直接取出来,然后在源代
    码中粘贴。该工具的强大在于不仅可以生成12×12、16×16宋体这些
    存在于DOS字库的字模,而且可以生成16×16楷体、黑体甚至自定义字
    体的字模,而且可以提供6种字模大小供您选择并即时预览效果!对使
    用少量汉字的图形编程能够提供极大方便。

    相对于绘制这些字体的J2ME函数是:
    首先,我们要通过工具来生成点阵字库的GB2312字模,然后在图像中绘制出来,下面我给出一些字体的字模,
    废话少说,具体看例子吧。有啥不明白,或者需要探讨的,到wuhua.3geye.net。上面有我的联系方式。

    import javax.microedition.midlet.*;
    import javax.microedition.lcdui.Canvas;
    import javax.microedition.lcdui.Graphics;
    import javax.microedition.lcdui.Display;

    public class FontMIDlet extends MIDlet {
    public FontMIDlet() {
    }


    protected void destroyApp(boolean _boolean) throws
    MIDletStateChangeException {
    }


    protected void pauseApp() {
    }

    protected void startApp() throws MIDletStateChangeException {
    Display.getDisplay(this).setCurrent(new FontCanvas());
    }

    char yi12[] = {
    /* 以下是 '1' 的 12点阵宋体 字模,24 byte */
    0x00, 0x00, 0x0C, 0x00, 0x1C, 0x00, 0x3C, 0x00,
    0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00,
    0x0C, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
    };

    char er12[] = {
    /* 以下是 '2' 的 12点阵宋体 字模,24 byte */
    0x00, 0x00, 0x3E, 0x00, 0x63, 0x00, 0x03, 0x00,
    0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00,
    0x63, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
    };

    char dian12[] = {
    /* 以下是 '点' 的 12点阵宋体 字模,24 byte */
    0x04, 0x00, 0x07, 0xC0, 0x04, 0x00, 0x04, 0x00,
    0x3F, 0x80, 0x20, 0x80, 0x20, 0x80, 0x3F, 0x80,
    0x00, 0x00, 0x49, 0x40, 0xC9, 0x20, 0x00, 0x00,
    };

    char zhen12[] = {
    /* 以下是 '阵' 的 12点阵宋体 字模,24 byte */
    0xF2, 0x00, 0x9F, 0xE0, 0x92, 0x00, 0xA5, 0x00,
    0xA5, 0x00, 0x97, 0xE0, 0x91, 0x00, 0xB1, 0x00,
    0x8F, 0xE0, 0x81, 0x00, 0x81, 0x00, 0x00, 0x00,
    };

    char song16[] = {
    /* 以下是 '宋' 的 16点阵宋体 字模,32 byte */
    0x02, 0x00, 0x01, 0x00, 0x7F, 0xFE, 0x41, 0x04,
    0x81, 0x08, 0x01, 0x00, 0x7F, 0xFC, 0x03, 0x80,
    0x05, 0x80, 0x05, 0x40, 0x09, 0x20, 0x11, 0x10,
    0x21, 0x0E, 0x41, 0x04, 0x01, 0x00, 0x00, 0x00,
    };

    char ti16[] = {
    /* 以下是 '体' 的 16点阵宋体 字模,32 byte */
    0x10, 0x40, 0x18, 0x40, 0x10, 0x40, 0x20, 0x40,
    0x37, 0xFC, 0x60, 0xC0, 0xA0, 0xE0, 0x21, 0x60,
    0x21, 0x50, 0x22, 0x48, 0x24, 0x4E, 0x2B, 0xF4,
    0x20, 0x40, 0x20, 0x40, 0x20, 0x40, 0x00, 0x00,
    };

    char zi24[] = {
    /* 以下是 '字' 的 24点阵隶书 字模,72 byte */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x18, 0x00, 0x08, 0x1C, 0x10,
    0x1F, 0xFF, 0xF0, 0x18, 0x00, 0x30, 0x18, 0xFF,
    0x10, 0x09, 0xC3, 0x90, 0x00, 0x3C, 0x00, 0x00,
    0x1C, 0x00, 0x3F, 0xFF, 0xFE, 0x7E, 0x0C, 0xFE,
    0x00, 0x1C, 0x04, 0x00, 0x1C, 0x00, 0x04, 0x3C,
    0x00, 0x03, 0xF8, 0x00, 0x00, 0xE0, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    };

    char mo24[] = {
    /* 以下是 '模' 的 24点阵楷体_GB2312 字模,72 byte */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x02, 0x00,
    0x30, 0x03, 0x0C, 0x20, 0x03, 0x04, 0x3C, 0x02,
    0x07, 0xE0, 0x02, 0x1C, 0x40, 0x02, 0x00, 0x40,
    0x03, 0xC0, 0x70, 0x7E, 0x1F, 0x98, 0x02, 0x08,
    0x10, 0x06, 0x0F, 0x90, 0x07, 0x88, 0x10, 0x0A,
    0xCB, 0xE0, 0x1A, 0x05, 0x00, 0x12, 0x01, 0x1E,
    0x22, 0x0F, 0xFE, 0x42, 0x32, 0x80, 0x02, 0x02,
    0x40, 0x02, 0x04, 0x60, 0x02, 0x0C, 0x30, 0x02,
    0x18, 0x1C, 0x02, 0x20, 0x0F, 0x02, 0x00, 0x00,
    };

    char guan48[] = {
    /* 以下是 '灌' 的 48点阵黑体 字模,288 byte */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x38, 0x00,
    0x03, 0x00, 0x03, 0xC0, 0x38, 0x00, 0x07, 0x80,
    0x03, 0xC0, 0x38, 0x00, 0x07, 0xC0, 0x03, 0xC0,
    0x38, 0x00, 0x03, 0xF1, 0xFF, 0xFF, 0xFF, 0xFC,
    0x01, 0xF9, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x79,
    0xF1, 0xC0, 0x39, 0xFC, 0x00, 0x30, 0x01, 0xC0,
    0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0xFF, 0xF0, 0xFF, 0xE0, 0x00, 0x00, 0xFF, 0xF0,
    0xFF, 0xE0, 0x00, 0x00, 0xE0, 0x70, 0xE0, 0xE0,
    0x0E, 0x00, 0xE0, 0x70, 0xE0, 0xE0, 0x1F, 0x80,
    0xE0, 0x70, 0xE0, 0xE0, 0x1F, 0xE0, 0xFF, 0xF0,
    0xFF, 0xE0, 0x07, 0xF0, 0xFF, 0xF0, 0xFF, 0xE0,
    0x01, 0xF0, 0xFF, 0xF1, 0xFF, 0xE0, 0x00, 0x60,
    0x08, 0x07, 0x00, 0x00, 0x00, 0x20, 0x1E, 0x03,
    0x80, 0x00, 0x00, 0x00, 0x1E, 0x03, 0x00, 0x00,
    0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
    0x3F, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x3F, 0xFF,
    0xFF, 0xF0, 0x00, 0x00, 0x7C, 0x03, 0x80, 0x00,
    0x00, 0x20, 0x7C, 0x03, 0x80, 0x00, 0x00, 0x70,
    0xFC, 0x03, 0x80, 0x00, 0x00, 0x71, 0xFF, 0xFF,
    0xFF, 0xE0, 0x00, 0x73, 0xFF, 0xFF, 0xFF, 0xE0,
    0x00, 0xF3, 0xBC, 0x03, 0x80, 0x60, 0x00, 0xE3,
    0xBC, 0x03, 0x80, 0x00, 0x01, 0xE1, 0x3C, 0x03,
    0x80, 0x00, 0x01, 0xC0, 0x3F, 0xFF, 0xFF, 0xE0,
    0x01, 0xC0, 0x3F, 0xFF, 0xFF, 0xE0, 0x03, 0xC0,
    0x3F, 0xFF, 0xFF, 0xE0, 0x03, 0x80, 0x3C, 0x03,
    0x80, 0x00, 0x07, 0x80, 0x3C, 0x03, 0x80, 0x00,
    0x0F, 0x80, 0x3C, 0x03, 0x80, 0x00, 0x0F, 0x00,
    0x3F, 0xFF, 0xFF, 0xF8, 0x1F, 0x00, 0x3F, 0xFF,
    0xFF, 0xF8, 0x1F, 0x00, 0x3C, 0x00, 0x00, 0x00,
    0x06, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    };

    char guan64[] = {
    /* 以下是 '灌' 的 64点阵方正黄草简体 字模,512 byte */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xC0, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x03, 0xCF, 0xC0, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x1E, 0x07, 0xC0, 0x00,
    0x00, 0x00, 0x00, 0x03, 0xF8, 0x07, 0x80, 0x00,
    0x00, 0x04, 0x00, 0x03, 0xF8, 0x0F, 0x00, 0x00,
    0x00, 0x06, 0x00, 0x03, 0xF0, 0x18, 0x00, 0x00,
    0x00, 0x07, 0x00, 0x01, 0xF0, 0x30, 0x00, 0x00,
    0x00, 0x07, 0x80, 0x01, 0xF0, 0x00, 0x00, 0x00,
    0x00, 0x03, 0xC0, 0x01, 0xF0, 0x00, 0x00, 0x00,
    0x00, 0x03, 0xE0, 0x00, 0x00, 0x06, 0x00, 0x00,
    0x00, 0x03, 0xF0, 0x00, 0x00, 0x0F, 0xE0, 0x00,
    0x00, 0x07, 0xF0, 0x00, 0x00, 0x3F, 0xC0, 0x00,
    0x00, 0x07, 0xE0, 0x00, 0x01, 0xFF, 0x00, 0x00,
    0x00, 0x0F, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00,
    0x00, 0x0C, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00,
    0x00, 0x08, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00,
    0x00, 0x08, 0x00, 0x0F, 0xF0, 0x07, 0xC0, 0x00,
    0x00, 0x00, 0x00, 0x3F, 0x40, 0x0F, 0xC0, 0x00,
    0x00, 0x00, 0x00, 0x18, 0x80, 0x3F, 0x80, 0x00,
    0x00, 0x00, 0x00, 0x01, 0x00, 0x7F, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x03, 0x0F, 0xFC, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x06, 0x1F, 0xF8, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x0E, 0x23, 0xF0, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x0E, 0xC3, 0xE0, 0x00, 0x00,
    0x00, 0x80, 0x00, 0x1F, 0x87, 0xC0, 0x00, 0x00,
    0x00, 0xC0, 0x00, 0x1F, 0x8F, 0x87, 0x80, 0x00,
    0x00, 0x70, 0x02, 0x0F, 0x9F, 0x0F, 0x80, 0x00,
    0x00, 0x7C, 0x02, 0x0F, 0xBE, 0x1C, 0xE0, 0x00,
    0x00, 0x3E, 0x04, 0x07, 0xFC, 0x18, 0xE0, 0x00,
    0x00, 0x3E, 0x04, 0x03, 0xF0, 0x1B, 0xC0, 0x00,
    0x00, 0x3E, 0x0C, 0x01, 0xE0, 0x1F, 0x80, 0x00,
    0x00, 0x1C, 0x08, 0x03, 0xC0, 0x1F, 0x00, 0x00,
    0x00, 0x18, 0x18, 0x07, 0x80, 0x7C, 0x00, 0x00,
    0x00, 0x18, 0x38, 0x0F, 0x01, 0xFC, 0x00, 0x00,
    0x00, 0x18, 0x30, 0x1F, 0x07, 0xDC, 0x00, 0x00,
    0x00, 0x30, 0x70, 0x3F, 0x1F, 0x0C, 0x00, 0x00,
    0x00, 0x30, 0x70, 0x7B, 0x38, 0x0C, 0x00, 0x00,
    0x00, 0x30, 0xE0, 0xF3, 0x60, 0x0C, 0x00, 0x00,
    0x00, 0x30, 0xE1, 0xE3, 0x00, 0x0E, 0x00, 0x00,
    0x00, 0x71, 0xC3, 0xE3, 0x00, 0x3E, 0x00, 0x00,
    0x00, 0x71, 0xC3, 0xC3, 0x00, 0x6E, 0x00, 0x00,
    0x00, 0x73, 0x83, 0xC3, 0x00, 0xCE, 0x00, 0x00,
    0x00, 0x77, 0x80, 0x07, 0x00, 0x9E, 0x00, 0x00,
    0x00, 0x77, 0x80, 0x07, 0x00, 0x9C, 0x00, 0x00,
    0x00, 0x7F, 0x00, 0x07, 0x00, 0x9C, 0x00, 0x00,
    0x00, 0x7F, 0x00, 0x07, 0x00, 0xBC, 0x00, 0x00,
    0x00, 0x7E, 0x00, 0x07, 0x00, 0xFC, 0x00, 0x00,
    0x00, 0x7E, 0x00, 0x07, 0x00, 0xFC, 0x00, 0x00,
    0x00, 0x7C, 0x00, 0x07, 0x00, 0xFF, 0x00, 0x00,
    0x00, 0x7C, 0x00, 0x06, 0x00, 0xDE, 0x00, 0x00,
    0x00, 0xFC, 0x00, 0x06, 0x00, 0x5C, 0x00, 0x00,
    0x01, 0xF8, 0x00, 0x06, 0x00, 0x78, 0x00, 0x00,
    0x00, 0xF8, 0x00, 0x0E, 0x00, 0x78, 0xF8, 0x00,
    0x00, 0xF8, 0x00, 0x0E, 0x00, 0xFF, 0xF8, 0x00,
    0x00, 0x78, 0x00, 0x0E, 0x01, 0xFF, 0xB0, 0x00,
    0x00, 0x70, 0x00, 0x06, 0x01, 0xF0, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    };

    char matarray16k[] = {
    /* 以下是 '该' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x00, 0x00, 0x08, 0x60, 0x08, 0x00,
    0x00, 0x0C, 0x03, 0xF0, 0x18, 0x50, 0x30, 0x90,
    0x11, 0x70, 0x11, 0xA8, 0x14, 0x58, 0x18, 0xB0,
    0x13, 0x70, 0x04, 0x8C, 0x03, 0x04, 0x00, 0x00,
    /* 以下是 '程' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0C, 0xFC,
    0x3C, 0x88, 0x08, 0x88, 0x0E, 0x70, 0xF8, 0x18,
    0x18, 0xE0, 0x1E, 0x20, 0x28, 0xF0, 0xC8, 0x20,
    0x08, 0x3E, 0x09, 0xC0, 0x08, 0x00, 0x00, 0x00,
    /* 以下是 '序' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x00, 0x80, 0x00, 0x90, 0x0B, 0xE0,
    0x0C, 0x00, 0x0B, 0xF0, 0x08, 0x40, 0x10, 0x80,
    0x11, 0xFC, 0x1E, 0x88, 0x20, 0x80, 0x20, 0x80,
    0x40, 0x80, 0x80, 0x80, 0x01, 0x80, 0x00, 0x80,
    /* 以下是 '已' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0F, 0x40,
    0x00, 0xC0, 0x10, 0x80, 0x10, 0x80, 0x1F, 0x00,
    0x10, 0x00, 0x10, 0x00, 0x10, 0x04, 0x10, 0x04,
    0x08, 0x06, 0x07, 0xF8, 0x00, 0x00, 0x00, 0x00,
    /* 以下是 '集' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x02, 0x80, 0x04, 0x10, 0x07, 0xE0,
    0x0C, 0xE0, 0x17, 0x80, 0x05, 0xC0, 0x06, 0xB0,
    0x0B, 0x40, 0x08, 0x9C, 0x1F, 0xE0, 0x23, 0x40,
    0x05, 0x30, 0x09, 0x1C, 0x31, 0x00, 0x00, 0x00,
    /* 以下是 '成' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x03, 0x00, 0x01, 0x30, 0x01, 0x10,
    0x01, 0x00, 0x01, 0xC0, 0x1E, 0x80, 0x10, 0x90,
    0x12, 0x90, 0x1E, 0x60, 0x12, 0x60, 0x22, 0x60,
    0x26, 0x92, 0x45, 0x0A, 0x00, 0x06, 0x00, 0x00,
    /* 以下是 '小' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
    0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x11, 0x18,
    0x11, 0x0C, 0x21, 0x04, 0x21, 0x00, 0x01, 0x00,
    0x07, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
    /* 以下是 '型' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x00, 0x08, 0x03, 0x08, 0x1E, 0x28,
    0x0A, 0x48, 0x0F, 0xC8, 0x7A, 0x48, 0x0A, 0x08,
    0x12, 0x18, 0x21, 0x08, 0x01, 0x40, 0x07, 0x80,
    0x01, 0x00, 0x01, 0xF8, 0x3E, 0x00, 0x00, 0x00,
    /* 以下是 '汉' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x11, 0xF0,
    0x02, 0x20, 0x04, 0x20, 0x62, 0x40, 0x29, 0x40,
    0x10, 0x80, 0x11, 0x40, 0x22, 0x60, 0x64, 0x38,
    0x78, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    /* 以下是 '字' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x01, 0x00, 0x01, 0x10, 0x11, 0xF8,
    0x1E, 0x10, 0x20, 0xC0, 0x07, 0xC0, 0x00, 0x80,
    0x01, 0x38, 0x1F, 0xC0, 0x20, 0x80, 0x00, 0x80,
    0x00, 0x80, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00,
    /* 以下是 '库' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x01, 0xF0,
    0x0E, 0x80, 0x08, 0xF0, 0x0B, 0x00, 0x09, 0x40,
    0x0A, 0x78, 0x13, 0xC0, 0x10, 0x7E, 0x2F, 0xC0,
    0x20, 0x40, 0x40, 0x40, 0x00, 0x40, 0x00, 0x40,
    /* 以下是 ',' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00,
    0x10, 0x00, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00,
    /* 以下是 '可' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,
    0x7F, 0x40, 0x00, 0x20, 0x07, 0x20, 0x19, 0x20,
    0x12, 0x20, 0x0E, 0x40, 0x00, 0x40, 0x00, 0x40,
    0x00, 0x40, 0x00, 0xC0, 0x00, 0x40, 0x00, 0x00,
    /* 以下是 '脱' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x3D, 0x90,
    0x24, 0x80, 0x24, 0x70, 0x25, 0x90, 0x25, 0x20,
    0x35, 0xE0, 0x24, 0xA0, 0x24, 0xC0, 0x45, 0x42,
    0x4E, 0x22, 0x88, 0x3E, 0x00, 0x00, 0x00, 0x00,
    /* 以下是 '离' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x03, 0x00, 0x01, 0x30, 0x1F, 0xC0,
    0x00, 0xA0, 0x0F, 0xA0, 0x0A, 0xA0, 0x0F, 0xE0,
    0x09, 0x00, 0x03, 0xF8, 0x1E, 0x88, 0x17, 0xC8,
    0x14, 0x88, 0x10, 0x70, 0x10, 0x10, 0x00, 0x00,
    /* 以下是 '文' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x02, 0x00, 0x01, 0x80, 0x00, 0x00,
    0x00, 0x70, 0x07, 0x80, 0x18, 0x80, 0x01, 0x80,
    0x05, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0xC0,
    0x38, 0x70, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00,
    /* 以下是 '件' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x08, 0x40, 0x0C, 0x40, 0x08, 0x40,
    0x11, 0x40, 0x11, 0xF0, 0x32, 0x40, 0x50, 0x44,
    0x91, 0xF8, 0x12, 0x40, 0x10, 0x40, 0x10, 0x40,
    0x10, 0x40, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00,
    /* 以下是 '的' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x20,
    0x08, 0x40, 0x10, 0x48, 0x1E, 0xFC, 0x23, 0x0C,
    0x24, 0x8C, 0x3C, 0x48, 0x24, 0x08, 0x24, 0x08,
    0x3C, 0x08, 0x00, 0x38, 0x00, 0x18, 0x00, 0x00,
    /* 以下是 '支' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
    0x01, 0xE0, 0x0F, 0x00, 0x01, 0x00, 0x01, 0xC0,
    0x0E, 0x40, 0x08, 0x80, 0x06, 0x80, 0x01, 0x00,
    0x02, 0xC0, 0x0C, 0x78, 0x30, 0x1C, 0x00, 0x00,
    /* 以下是 '持' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x08, 0x20, 0x08, 0x20, 0x08, 0x20,
    0x08, 0x70, 0x3C, 0x20, 0x08, 0x3E, 0x0F, 0xD0,
    0x08, 0x1C, 0x3B, 0xF0, 0xC9, 0x10, 0x08, 0x90,
    0x08, 0x10, 0x18, 0x10, 0x00, 0x30, 0x00, 0x00,
    /* 以下是 '运' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x80,
    0x00, 0x00, 0x00, 0x78, 0x27, 0x80, 0x71, 0x80,
    0x21, 0x20, 0x22, 0xF0, 0x23, 0x10, 0x20, 0x00,
    0x5F, 0x80, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00,
    /* 以下是 '行' 的 16点阵楷体_GB2312 字模,32 byte */
    0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0C, 0x38,
    0x10, 0x40, 0x24, 0x00, 0x04, 0x1F, 0x0B, 0xF0,
    0x18, 0x10, 0x28, 0x10, 0xC8, 0x10, 0x08, 0x10,
    0x08, 0x10, 0x08, 0x70, 0x00, 0x20, 0x00, 0x00,
    };


    void drawFont(Graphics g) {
    int i, j;

    drawmat(yi12, g,12, 50, 20, 0xFFFFFF);
    drawmat(er12, g,12, 50, 50, 0xFFFFFF);
    drawmat(dian12, g,12, 50, 80, 0xFFFFFF);
    drawmat(zhen12, g,12, 50, 110, 0xFFFFFF);
    drawmat(song16, g,16, 50, 130, 0xFF0000);
    drawmat(ti16, g,16, 50, 150, 0xFF0000);
    drawmat(zi24, g,24, 50, 180, 0x0000FF);
    drawmat(mo24, g,24, 50, 200, 0x00FF00);
    drawmat(guan48, g,48, 50, 250, 0x0000FF);
    drawmat(guan64, g,64, 50, 300, 0xFF0000);

    // for (i = 0; i < 15; i++) {
    // drawmat(matarray16k + i*32, g,16, 200 + i * 15, 200, 0xFFFFFF);
    // }
    // drawmat(matarray16k + 8*32, g,16, 200 + i * 15, 200, 0xFFFFFF);
    // drawmat(matarray16k + 9*32,g, 16, 200 + (++i) * 15, 200, 0xFFFFFF);
    // drawmat(matarray16k + 10 * 32, g,16, 200 + (++i) * 15, 200, 0xFFFFFF);
    // for (i = 18; i < 25; i++) {
    // drawmat(matarray16k + (i - 3) * 32, 16, 200 + i * 15, 200, 0xFFFFFF);
    // }
    }


    void drawmat(char[] mat, Graphics g,int matsize, int x, int y, int color)
    /*依次:字模指针、点阵大小、起始坐标(x,y)、颜色*/
    {
    int i, j, k, n;
    n = (matsize - 1) / 8 + 1;
    for (j = 0; j < matsize; j++) {
    for (i = 0; i < n; i++) {
    for (k = 0; k < 8; k++) {
    if (!((mat[j * n + i] & (0x80 >> k)) == 0)) /*测试为1的位则显示*/
    {
    g.setColor(color);
    g.drawLine(x + i * 8 + k, y + j, x + i * 8 + k, y + j);
    // putpixel(x + i * 8 + k, y + j, color);
    }
    //else
    // g.setColor(0xFFFFFF);
    }
    }
    }
    }


    class FontCanvas extends Canvas {
    protected void paint(Graphics g) {
    g.setColor(0x0);
    g.fillRect(0, 0, this.getWidth(), this.getHeight());
    drawFont(g);
    }
    }

    }

     

    发表于 @ 2008年02月18日 14:43:00|评论(loading...)|编辑

    新一篇: Android invalidate 与postInvalidate用法  | 旧一篇: Android文件浏览器的开发

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 无花