饒榮慶 -- 您今天UCWEB了嗎?--http://www.ucweb.com

          3G 手機(jī)開(kāi)發(fā)網(wǎng)

             :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            99 Posts :: 1 Stories :: 219 Comments :: 0 Trackbacks

           

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

          關(guān)于點(diǎn)陣字庫(kù)在J2ME的實(shí)現(xiàn)。
          最近在學(xué)習(xí)C的過(guò)程中無(wú)意發(fā)現(xiàn)了點(diǎn)陣字庫(kù)的東西。整理了下,在J2ME實(shí)現(xiàn)了下相關(guān)的算法。
          下面是DOS的一段話
          對(duì)于使用少量的漢字圖形程序,完全沒(méi)有必要帶巨大的漢字庫(kù)來(lái)運(yùn)行,
          只要內(nèi)存允許,你可以把漢字字模直接定義為數(shù)組的信息存儲(chǔ)在EXE文
          件里。通過(guò)這個(gè)工具,你可以把單個(gè)字模信息直接取出來(lái),然后在源代
          碼中粘貼。該工具的強(qiáng)大在于不僅可以生成12×12、16×16宋體這些
          存在于DOS字庫(kù)的字模,而且可以生成16×16楷體、黑體甚至自定義字
          體的字模,而且可以提供6種字模大小供您選擇并即時(shí)預(yù)覽效果!對(duì)使
          用少量漢字的圖形編程能夠提供極大方便。

          相對(duì)于繪制這些字體的J2ME函數(shù)是:
          首先,我們要通過(guò)工具來(lái)生成點(diǎn)陣字庫(kù)的GB2312字模,然后在圖像中繪制出來(lái),下面我給出一些字體的字模,
          廢話少說(shuō),具體看例子吧。有啥不明白,或者需要探討的,到wuhua.3geye.net。上面有我的聯(lián)系方式。

          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點(diǎn)陣宋體 字模,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點(diǎn)陣宋體 字模,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[] = {
          /* 以下是 '點(diǎn)' 的 12點(diǎn)陣宋體 字模,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點(diǎn)陣宋體 字模,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點(diǎn)陣宋體 字模,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點(diǎn)陣宋體 字模,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點(diǎn)陣隸書(shū) 字模,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點(diǎn)陣楷體_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點(diǎn)陣黑體 字模,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點(diǎn)陣方正黃草簡(jiǎn)體 字模,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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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,
          /* 以下是 '庫(kù)' 的 16點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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點(diǎn)陣楷體_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,
          /* 以下是 '運(yùn)' 的 16點(diǎn)陣楷體_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點(diǎn)陣楷體_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)
          /*依次:字模指針、點(diǎn)陣大小、起始坐標(biāo)(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)) /*測(cè)試為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);
          }
          }

          }



          爬蟲(chóng)工作室 -- 專業(yè)的手機(jī)軟件開(kāi)發(fā)工作室
          3G視線 -- 專注手機(jī)軟件開(kāi)發(fā)
          posted on 2008-02-16 12:51 3G工作室 閱讀(2071) 評(píng)論(4)  編輯  收藏 所屬分類: j2me

          Feedback

          # re: 關(guān)于點(diǎn)陣字庫(kù)在J2ME的實(shí)現(xiàn)。 2008-02-17 12:03 海邊沫沫
          不錯(cuò)  回復(fù)  更多評(píng)論
            

          # re: 關(guān)于點(diǎn)陣字庫(kù)在J2ME的實(shí)現(xiàn)。 2008-02-17 12:10 爬蟲(chóng)工作室
          @海邊沫沫
          呵,這些也是從C語(yǔ)言轉(zhuǎn)換過(guò)來(lái)的。純粹玩下。  回復(fù)  更多評(píng)論
            

          # re: 關(guān)于點(diǎn)陣字庫(kù)在J2ME的實(shí)現(xiàn)。 2008-02-17 12:24 51dwgw
          非常不錯(cuò),謝謝了……   回復(fù)  更多評(píng)論
            

          # re: 關(guān)于點(diǎn)陣字庫(kù)在J2ME的實(shí)現(xiàn)。 2008-02-24 18:28 爬蟲(chóng)工作室
          @51dwgw
          呵呵,想不到在這里,等到你的認(rèn)同啊。
          經(jīng)常來(lái)我另外一個(gè)博客
          http://wuhua.3geye.net  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 天镇县| 海晏县| 大邑县| 裕民县| 虞城县| 灵川县| 中西区| 睢宁县| 沧州市| 金塔县| 六枝特区| 邓州市| 阜新市| 广南县| 海宁市| 天水市| 修水县| 同仁县| 缙云县| 晋中市| 金溪县| 云龙县| 辽阳县| 左权县| 阜新市| 德州市| 太康县| 枣阳市| 石首市| 远安县| 济宁市| 台中市| 道真| 平泉县| 康平县| 辉南县| 东丽区| 马龙县| 铁力市| 嘉黎县| 浠水县|