`
zwhc
  • 浏览: 264699 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

正在查找 J2ME 汉字字库的项目

    博客分类:
  • java
阅读更多

MWT - Micro Window Toolkit
http://j2me-mwt.sourceforge.net/

这里的字体,是通过图形来实现的。不适合汉字啊。

 

==============================

http://www.pstreets.com
这里有个汉字字库,不过,在 N70 上运行出错了。

 

在模拟器上倒是跑起来了。

 

找模拟器的文件目录时,花了好一段时间:

C:\Documents and Settings\Administrator\j2mewtk\2.5.2\appdb\myrms\filesystem

 

 

//------------------------------------------------------------------------------
//                         COPYRIGHT 2010 GUIDEBEE
//                           ALL RIGHTS RESERVED.
//                     GUIDEBEE CONFIDENTIAL PROPRIETARY 
///////////////////////////////////// REVISIONS ////////////////////////////////
// Date       Name                 Tracking #         Description
// ---------  -------------------  ----------         --------------------------
// 25APR2010  James Shen                 	      Initial Creation
////////////////////////////////////////////////////////////////////////////////
//--------------------------------- PACKAGE ------------------------------------
package biz.guidebee.example.drawing2d;

//--------------------------------- IMPORTS ------------------------------------

//import javax.microedition.io.*;
//import javax.microedition.io.*;

import javax.microedition.io.Connector;
import javax.microedition.io.StreamConnection;

import biz.guidebee.drawing.Color;
import biz.guidebee.drawing.FontEx;
import biz.guidebee.drawing.Pen;
import biz.guidebee.example.Graphics2DMIDlet;
import biz.guidebee.geometry.AffineTransform;
import biz.guidebee.geometry.Rectangle;

//[------------------------------ MAIN CLASS ----------------------------------]
////////////////////////////////////////////////////////////////////////////////
//--------------------------------- REVISIONS ----------------------------------
// Date       Name                 Tracking #         Description
// --------   -------------------  -------------      --------------------------
// 25APR2010  James Shen                 	      Initial Creation
////////////////////////////////////////////////////////////////////////////////
/**
 *  This demo shows font direction and measure string.
 * <p>
 * <hr><b>&copy; Copyright 2010 Guidebee, Inc. All Rights Reserved.</b>
 * @version     1.00, 25/04/10
 * @author      Guidebee, Inc.
 */
public class Fonts extends Graphics2DMIDlet {

    public void startApp() {
        graphics2D.clear(Color.WHITE);
        AffineTransform matrix = new AffineTransform();
        graphics2D.setAffineTransform(matrix);
        try {
        	//FontEx font = FontEx.getSystemFont();
        	
        	FontEx font = new FontEx( this.getClass().getResourceAsStream("songti.fon") );
        	
//        	//String fontName = "file:///root1/fonts/songti.fon";  //模拟器
//        	String fontName = "file://localhost/E:/FONTS/SONGTI.FON"; //N70
//        	StreamConnection fconn = (StreamConnection) Connector.open(fontName);
//        	FontEx font = new FontEx(fconn.openInputStream());
            int fontSize = 32;
            char[] longLine = "汉国".toCharArray();
            //char[] longLine = "hello".toCharArray();
            int stringWidth = font.charsWidth(fontSize, longLine, 0, longLine.length,
                    FontEx.TEXT_DIR_LR);
            int canvasWidth = canvas.getWidth();
            int canvasHeight = canvas.getHeight();

            graphics2D.setDefaultPen(new Pen(Color.BLUE, 1));

            Rectangle rectangle = new Rectangle((canvasWidth - stringWidth) / 2,
                    (canvasHeight - 16) / 2, stringWidth, 16);
            graphics2D.drawRectangle(null, rectangle);
            graphics2D.setTextDirection(FontEx.TEXT_DIR_LR);
            graphics2D.drawChars(font, fontSize, longLine, 0, longLine.length, rectangle.x,
                    rectangle.y + fontSize);
            graphics2D.setDefaultPen(new Pen(Color.GREEN, 1));
            graphics2D.setTextDirection(FontEx.TEXT_DIR_RL);
            graphics2D.drawChars(font, fontSize, longLine, 0, longLine.length, rectangle.x + stringWidth,
                    rectangle.y + fontSize * 2);
            graphics2D.setDefaultPen(new Pen(Color.RED, 1));
            graphics2D.setTextDirection(FontEx.TEXT_DIR_TB);
            graphics2D.drawChars(font, fontSize, longLine, 0, longLine.length, 16,
                    16);


            graphics2D.invalidate();
			
		} catch (Exception e) {
	        try {
	        	FontEx font = FontEx.getSystemFont();
	        	
	            int fontSize = 12;
	            char[] longLine = e.getMessage().toCharArray();
	            int stringWidth = font.charsWidth(fontSize, longLine, 0, longLine.length,
	                    FontEx.TEXT_DIR_LR);
	            int canvasWidth = canvas.getWidth();
	            int canvasHeight = canvas.getHeight();

	            graphics2D.setDefaultPen(new Pen(Color.BLUE, 1));

	            Rectangle rectangle = new Rectangle((canvasWidth - stringWidth) / 2,
	                    (canvasHeight - 16) / 2, stringWidth, 16);
	            graphics2D.drawRectangle(null, rectangle);
	            graphics2D.setTextDirection(FontEx.TEXT_DIR_LR);
	            graphics2D.drawChars(font, fontSize, longLine, 0, longLine.length, rectangle.x,
	                    rectangle.y + fontSize);
	            graphics2D.setDefaultPen(new Pen(Color.GREEN, 1));
	            graphics2D.setTextDirection(FontEx.TEXT_DIR_RL);
	            graphics2D.drawChars(font, fontSize, longLine, 0, longLine.length, rectangle.x + stringWidth,
	                    rectangle.y + fontSize * 2);
	            graphics2D.setDefaultPen(new Pen(Color.RED, 1));
	            graphics2D.setTextDirection(FontEx.TEXT_DIR_TB);
	            graphics2D.drawChars(font, fontSize, longLine, 0, longLine.length, 16,
	                    16);


	            graphics2D.invalidate();
				
			} catch (Exception e1) {
				e1.printStackTrace();
			}
		}
        
    }

   
}
 

 

 

0
0
分享到:
评论
1 楼 zwhc 2010-06-27  
字体
TrueType
http://zh.wikipedia.org/zh-cn/TrueType
TrueType字形数据文件结构的分析
http://www.docin.com/p-23018157.html
关于TrueType字体的结构
http://www.zhaozi.cn/huibian/20080829/121999659545.html
TrueType字体文件
http://blog.csdn.net/zixue_pudn/archive/2010/01/17/5202259.aspx
TrueType(2)
http://blog.chinaunix.net/u3/91477/showart_1839588.html

相关推荐

    j2me点阵字库

    开发者可以通过研究这些源码,了解如何在实际项目中应用点阵字库。 总的来说,J2ME点阵字库是移动和嵌入式开发中的一个重要组成部分,它涉及字库的加载、字符映射、渲染、优化等多个技术环节。理解和掌握这些知识点...

    J2ME手机应用项目开发实践.iso

    J2ME手机应用项目开发实践.iso J2ME手机应用项目开发实践.iso

    J2ME手机应用项目开发实践 源代码

    这个压缩包包含的是一个关于J2ME手机应用项目开发实践的源代码集合,对于学习和理解J2ME应用程序的开发流程和技巧具有一定的参考价值。 在J2ME开发中,你需要了解以下核心概念: 1. **KVM(Java Virtual Machine ...

    J2ME中文版教程 J2ME教程

    **J2ME中文版教程——全面解读移动设备编程** J2ME(Java 2 Micro Edition)是Java平台的一个重要组成部分,专为嵌入式设备、移动电话和其他资源有限的设备设计。这个J2ME中文版教程是针对初学者和有一定经验的...

    J2ME手机应用项目开发实践

    这个“J2ME手机应用项目开发实践”是一个深入探讨如何利用J2ME进行手机应用开发的资源包,包含了实际项目的源代码,为开发者提供了宝贵的参考和学习材料。 J2ME的应用框架主要由两部分构成:MIDP(Mobile ...

    j2me的一个示例项目

    通过这个"j2me的一个示例项目",你可以深入了解J2ME开发流程,学习如何在Eclipse环境中管理和运行J2ME应用,并掌握相关的编程和优化技巧。这将为你进一步探索移动和嵌入式领域的Java开发奠定坚实基础。

    J2ME中文输入Demo

    **J2ME中文输入Demo详解** Java Micro Edition (J2ME) 是Java平台的一个子集,主要用于嵌入式设备和移动设备,如早期的智能手机和平板电脑。在J2ME中,开发人员需要处理资源有限的环境,因此,提供中文输入功能是一...

    J2ME中文版API

    **J2ME中文版API**是Java Micro Edition(Java ME)平台的重要参考资料,它为开发者提供了详细的编程接口文档,帮助他们理解和使用J2ME进行移动设备和嵌入式系统的开发。J2ME作为Java技术的一个分支,专注于轻量级、...

    J2ME中文教程,J2ME手机程序开发

    **J2ME中文教程——开启手机程序开发之旅** Java 2 Micro Edition(J2ME)是Java平台的一个重要分支,专为资源有限的嵌入式设备设计,包括移动电话、智能家电、数字电视等。本教程将深入讲解J2ME在手机程序开发中的...

    J2ME几个经典的项目

    **J2ME经典项目详解** Java 2 Micro Edition(J2ME)是Java平台的一个重要分支,主要用于嵌入式设备和移动设备,如早期的智能手机、功能手机和各种电子设备。J2ME以其轻量级、跨平台的特性,成为开发小游戏和简单...

    15个j2me手机游戏项目源代码

    这个压缩包包含的是15个经典的J2ME手机游戏项目的源代码,是学习和理解移动游戏开发的宝贵资源。 一、J2ME基础知识 J2ME由几个关键组件组成,包括MIDP(Mobile Information Device Profile)和CLDC(Connected ...

    J2ME中文教程.pdf

    J2ME中文教程 不错的学习资料,刚开始学习的可以参考下!

    J2ME 中文api以及应用 J2ME 中文api以及应用.rar

    在**J2ME_中文api.CHM**文件中,很可能是对J2ME API的中文文档,方便中国开发者查阅和理解。这类文档通常会详细介绍每个类、方法和接口的用途,提供示例代码,并解释如何在实际项目中使用这些API。 **...

    J2ME中文教程(包含代码)

    开发J2ME应用,通常需要安装Java SDK,以及J2ME的开发工具,例如NetBeans或Eclipse,它们提供了J2ME项目的支持和模拟器,方便开发者进行调试和测试。此外,KJava SDK和WTK(Wireless Toolkit)也是常用的J2ME开发...

    j2me 中文api (html)

    在深入探讨J2ME中文API(HTML)的相关知识点前,我们先来了解一下J2ME的基本概念及其在移动设备开发中的重要性。J2ME,即Java 2 Platform, Micro Edition,是Sun Microsystems(现已被Oracle收购)推出的一种适用于...

    J2ME中文教程

    **J2ME中文教程概述** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于开发在有限资源的设备上运行的应用程序,如移动电话、智能卡、家用电器和嵌入式系统。本教程是针对中文用户设计的,旨在帮助...

    j2me 中文教程 开发环境 J2ME语言

    J2ME 中文教程 by www.j2medev.com MIDlet 程序的机制。 第十章“MIDlet 的开发流程与部署”介绍了如何真正完成你的程序并打包发往设备运行。 第十一章“搭建开发平台—WTK”主要讲述J2ME 新手最常使用的开发工具...

    Eclipse3.4.2配置并部署一个J2ME项目

    标题中的"Eclipse3.4.2配置并部署一个J2ME项目"指的是使用Eclipse集成开发环境(IDE)的特定版本3.4.2来设置和运行Java Micro Edition(J2ME)应用程序的过程。J2ME是Java平台的一个版本,主要用于嵌入式设备和移动...

Global site tag (gtag.js) - Google Analytics