`
webcenterol
  • 浏览: 943731 次
文章分类
社区版块
存档分类
最新评论

Orx1.2新添功能 自定义字体及Unicode 以中文显示为例

 
阅读更多

write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie

讨论新闻组及文件

在Orx1.2版本中新增了对Unicode和自定义字体的支持,至此,Orx可以支持中文的显示了。在"Uni-code to rule them all? "一文中作者有所提及。这可是主要就是为了中国用户才添加的功能,我自然需要大力支持罗。
首先,由于1.2版本还未发布,(本来代码已经完成了,但是据作者描述,其显卡正好坏了,买新的显卡还没有到,需要新显卡做Linux和Windows版本)所以我使用的SVN上 的版本。
另外,对于此功能,作者已经添加了新的教程内容 ,并且此教程已经有中文版本 了,欢迎大家查看学习。同时也在此感谢参与Orx WIKI翻译工作的全体兄弟。

因为此教程,还是讲一些拉丁字符的显示,这里我依据教程内容,真正的完成中文的显示教程。不过最最郁闷的是,目前没有找到很好的支持中文的字体生成工具。也就是将汉字从TTF等格式转成点阵图的工具,这样的英文字体工具很多,但是没有找到合适的支持中文的工具。
另外,处于效率考虑,一般的游戏引擎都是按照图片方式显示文字,这样可以与普通的游戏图片内容一起刷新,速度最快,Orx也一样。所以其实不直接支持TTF的文件的字体,而是支持图片格式的文字。

首先,我们看作者的教程10,用的图片:(因为作者用的是白色图片,为了能够显示出来,这里我进行了反色)



使用方式在原来文字显示的基础上学习其实很简单:(原教程内容)
在 text字段添加Font,表示需要使用自定义的字体,Font的内容为自定义字体的配置段,并且与locale相关,最后是选择的语言配置段中的字体。
[Legend1Text]
String = $Content
Font = $LocalizedFont

自定义的配置段内容如下:
[CustomFont]
Texture = ../../data/object/penguinattack.png
CharacterList = " !""#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[/]^_`abcdefghijklmnopqrstuvwxyz{|}~�€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"
CharacterSize = (19, 24, 0)

在Texture添加字体的图片,CharacterList添加字体图片对应的字符,CharacterSize是个vector,表示图片中每个字符的大小。就是这些新内容。
原来iarwain完成的显示效果如下:


现在来看看汉字的使用方式,如法炮制,这里其实还有个问题,因为汉字比较特殊,没有办法像作者添加的ISO字符一样,都放在一个字体文件中,但是现在的Font可以根据locale来修改。
因为没有找到合适的工具,(这是个问题,有人找到好工具了记得告诉我),所以我自己用photoshop拼出了一个汉字的图片(借助一个在线的字体生成网 站)。。。。痛苦啊。
如下:


然后就是改配置罗,
修改教程10的部分配置如下:

E:/MyProgram/ClipboardHighlighterVersion0.2/Untitled.html 1
2 [Locale]
3 LanguageList = English # French # Spanish # German # Finnish # Swedish # Norwegian # Chinese
4
5 [Chinese]
6 Content = 这是囧ㄏㄨ的标志
7 Lang= (Chinese)
8 LocalizedFont = ChineseCustomFont
9
10 [ChineseCustomFont]
11 Texture = ../../data/object/CustomChineseFont.png
12 CharacterList = "这是囧ㄏㄨ的标志"
13 CharacterSize = (72, 72, 0)


一如既往的,我也帮iarwain强调一句,不用改一句代码,直接运行原来的教程时的程序即可看到显示效果:(注意按空格切换,切换过N多语言以后,就会看到中文了)


对于此例子来讲,几乎看不到使用字体的任何好处,因为每个汉字只显示了一次,但是换换字符内容就能知道好处了。
比如:

[Chinese]
Content = 囧ㄏㄨ的标志这是
Lang = (Chinese)

LocalizedFont = ChineseCustomFont

而且,因为没有合适的工具,我在Photoshop中做出来的图其实还是有问题的。。。。。。。后面的空太长,字切的不准。。。。同时,这也反映了教程中作者提出来的问题,所有的自定义字体必须是等宽字体(不然怎么切啊?)

原创文章作者保留版权 转载请注明原作者 并给出链接

write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie







分享到:
评论

相关推荐

    Orx游戏引擎源码

    4. **显示模块**:`orxDefaultFont.c` 文件则包含了Orx的默认字体处理,这涉及到游戏中的文本渲染。Orx提供了一套完整的文本系统,支持自定义字体和样式,以及动态更新文本内容。 5. **插件机制**:`plugins` 目录...

    非典型2D游戏引擎 Orx 源码

    Orx 以其小巧的体积、跨平台支持和丰富的功能集而受到开发者的欢迎。 源码包包含了Orx引擎的核心代码,这对于开发者来说是一个宝贵的资源,因为可以直接查看和学习引擎内部的工作机制,理解其设计思想,甚至可以...

    易语言4行代码实现ASCII转UniCode.zip

    易语言是一种专为中国人设计的编程语言,它以简明直观的中文语法为特色,使得初学者也能快速上手编程。在"易语言4行代码实现ASCII转Unicode"的项目中,我们关注的核心知识点是如何在易语言中用极少量的代码实现字符...

    C#实现类似淘宝图片局部放大功能源码.rar_C#图片放大_C#实现类似淘宝图片局部放大功能源码_Orx

    在本项目中,标题"**C#实现类似淘宝图片局部放大功能源码.rar**"指出,我们关注的是一个使用C#编程语言实现的功能,该功能类似于淘宝网站上常见的一种图片查看方式,即当鼠标悬停在图片上时,能够显示图片的局部放大...

    Orx: Portable Game Engine:Orx:便携式游戏引擎-开源

    总之,Orx游戏引擎以其数据驱动的架构、插件化设计、跨平台能力以及易用性,为开发者提供了一个高效且富有创造性的2D游戏开发环境。通过学习和使用Orx,开发者可以快速构建出具有高质量视觉效果和互动体验的游戏作品...

    sublime-text-orx:ORX配置对崇高文本的支持

    ORX配置对崇高文本的支持 ... Orx为游戏开发提供了完整的框架,目前可在Windows(mingw和使用Visual Studio的本机),Linux(x86 / x86_64),MacOS X(ppc / x86),iPhone / iPod Touch / iPad和Android上运行。

    rewrite_x32orx64_zh-CN

    这种方法常用于优化SEO(搜索引擎优化),简化或规范化URL,隐藏实际路径以增强网站安全,以及实现其他功能,如负载均衡。 **2. IIS URL重写模块:** IIS是微软提供的一个强大的Web服务器,URL重写模块是其可选...

    IISURL重写组件(中文版)32位、64位rewrite_x32orx64_zh-CN.

    在Windows Server 2008及更高版本的IIS服务器上,URL重写组件可以用于配置URL重写规则,以实现伪静态化。伪静态是一种技术,将动态网页的URL转换成类似静态网页的URL形式,以提高用户体验和搜索引擎的友好性。 **...

    易语言4行代码实现ASCII转UniCode-易语言

    在IT领域,编程语言是构建软件和应用的基础工具,易语言作为一款中文编程语言,以其易学易用的特点深受初学者喜爱。本教程主要聚焦于一个基础但重要的转换过程:ASCII到Unicode的转换。ASCII(American Standard ...

    Suz-OrX-archive-refs-heads-master.zip

    标题"Suz-OrX-archive-refs-heads-master.zip"似乎是一个Git仓库的归档文件,通常包含了一个Git仓库在特定提交点的所有文件和目录。这种类型的文件经常用于代码备份、版本控制或者分享代码库。"refs-heads-master...

    ocaml-orx:Orx游戏引擎的OCaml绑定

    该存储库提供绑定以使用OCaml中的Orx。 声音,图形,物理,输入处理等等可以由Orx用C语言处理,而游戏逻辑则用OCaml编写。 这些绑定根据获得。 要求 奥克斯 您将需要一个有效的Orx版本。 正式的包含有关在系统上...

    orx-install:ORx安装脚本

    请参阅了解构建您自己的接收器的新方法。ORx安装脚本该存储库包含脚本的集合,这些脚本用于设置用于接收和管理Outernet广播内容的设备。......什么是ORx? ORx的名称为“ Oh-Rex”,代表Outernet ReceiverX。“ X”...

    EPORNER 2.COM%20-%20[bpM0orx6f9R]%20

    EPORNER 2.COM%20-%20[bpM0orx6f9R]%20

    norx:ORX 2.5D游戏引擎的Nim包装器

    所有这些都被命名为o-xxx,例如oinput或oobject 。 每个低级包装器具有一个Nim模块的高级包装器。 当前,每个高级包装器也输出低级包装器。 低级包装器使用“ C类型”,并自动从C头文件中自动生成。 高级别尝试尽...

    2017java源码-Order-System-Utility:ORXBuild2.0Beta版ORX是一个简单,可移植但功能有限的订购系统。

    ORX是一个简单,可移植但功能有限的订购系统。 Jentzen Paolo Ancheta Javier版权所有(C)2017 ORX绝对不提供保修。 这是一个免费软件,出于教育目的而受到启发。 该软件包括解决方案和源代码。 在代码操作时发出...

    TexturePacker 4.3.1 x64orX86完美破解

    TexturePacker 4.3.1 x64、X86完美破解,破解步骤简单,已经验证完美破解可用

    arcgis 10 图框工具5.2

    2. **自定义设置**:用户可以根据需求调整图框的样式,如改变字体、颜色、线型等,以满足不同项目或出版物的风格要求。此外,还可以添加或删除特定的地图要素,如图例、坐标系统信息等。 3. **兼容性**:工具支持...

    IIS URL Rewrite

    **IIS URL Rewrite** 是微软IIS(Internet Information Services)服务器上的一款重要模块,它为Web应用程序提供了强大的URL处理规则,使得网站管理员可以灵活地控制和优化网站的URL结构。这个模块是基于Apache的mod...

    Risk Taxonomy

    这些转变显示了攻击者在风险和回报之间的权衡——即他们承担的被检测、捕获和惩罚的风险低,但潜在的回报却很高。例如,新出现的动机,比如活动主义,也增加了威胁的多样性。 Adel Melek还强调了信息安全的紧迫性,...

    orx-color-pallete:orx引擎调色板定义

    用法将html-colors.ini复制到您的.ini文件夹(通常为{project-root}/data/config并将其包含在...但是为什么呢? 当您的编辑器支持颜色的可视化并且您可以原型化而无需使用颜色选择器工具切换到绘画程序时,这是很好的。

Global site tag (gtag.js) - Google Analytics