android和希腊字母(π)上的livecode和unicode

时间:2014-03-25 18:56:37

标签: android unicode livecode

我已将我的应用程序部署到android,并且每个带有希腊字母(π)的单词都被替换为矩形(是唯一缺少的字母。 任何人都知道这件事吗?任何人都可以提供任何解决方案吗? 谢谢

  put uniDecode(the unicodetext of fld "t01","UTF8") into Rtext
set the unicodeText of field "t1" to uniEncode (Rtext,"UTF8")

3 个答案:

答案 0 :(得分:2)

目前尚不清楚脚本与您的问题有何关联。而不是

put uniDecode(the unicodetext of fld "t01","UTF8") into Rtext
set the unicodeText of field "t1" to uniEncode (Rtext,"UTF8")

你可以使用

set the unicodeText of fld "t1" to the unicodeText of fld "t01"

(在LiveCode 7中,这不再是必需的了。)

如果您使用的是带OSX的计算机,您可能需要输入option-p来快速获取π符号。不幸的是,这是一个更高的ASCII符号,在其他计算机系统上以不同的方式解码。因此它在Android上显示不正确。

要获得与π相等的unicode,而不是更高的ASCII符号,您可以使用以下脚本:

set the useUnicode to true
set the unicodetext of fld 1 to numToChar(0x3c0)

Android应该能够正确显示。如果这不起作用,您可以尝试将自己的字体包含在独立包中。

要在独立包中包含字体,请转到独立应用程序设置的“文件”选项卡。只需将您自己的字体文件添加到列表中即可。不要选择字体文件的父文件夹。该字体将位于独立包内的项目主堆旁边,LiveCode会自动找到它。确保相应地设置字段的textFont属性。

答案 1 :(得分:0)

Jukka说得对,你使用自定义字体还是内置字体?无论哪种方式,我建议切换到自定义字体,并确保它有(或添加自己)丢失的字母。如果您需要帮助设置自定义字体,请告诉我!

答案 2 :(得分:0)

http://www.1001freefonts.com/comic-cartoon-fonts.php找到你需要的字符的字体,在你的资产文件夹中创建一个名为fotns的新文件夹并将其放在那里......然后在oncreate中

  Typeface  font = Typeface.createFromAsset(getAssets(), "fonts/YOURFONT.ttf");                                //then set each textview like so                                                   tv = (TextView) findViewById(R.id.cheatwarn);
        tv.setTypeface(font);

如果使用曲面绘制文本,在创建曲面时传递字体并创建TextPaint()并将其字体设置为相同...如果使用surfaceview,则需要将getassets更改为getBaseContext.getAssets()