Keyman:为移动键盘开发配置Unicode完整字体

时间:2017-08-03 21:27:31

标签: unicode keyboard custom-keyboard

我是喀麦隆键盘的维护者(已经在MSKLC和XKB,以前在Keyman),我正在测试Android / iOS的Keyman。

我有:

  • 开发了带触摸布局的键盘(Keyman Developer 9)
  • 定义所有字符
  • 将字体上传到Github
  • 为font和OSKfont定义了这个字体。
  • 在Android / iOS设备上测试了键盘。

我的代码的相关部分在这里:

  "options" : {
    "device" : "any",
    "keyboardBaseUri" : "https://github.com/erros84/Cameroon-Keyboard/raw/master/",
    "fontBaseUri" : "https://github.com/erros84/Cameroon-Keyboard/raw/master/Font‌​s/"
  },
  "keyboard" : {
    "id" : "camq_mob_progress",
    "name" : "Cameroon QWERTY",
    "filename" : "camq_mob_progress-1.0.js",
    "version" : "1.0",
    "lastModified" : "2017-08-03T21:21:31.154+01:00",
    "font" : {
      "family" : "Andika Afr",
      "size" : "20pt",
      "source" : "ANDIKAAFR-R.TTF"
    },
    "oskFont" : {
      "family" : "Andika Afr",
      "size" : "20pt",
      "source" : "ANDIKAAFR-R.TTF"
    },

在Android上,键盘按钮按预期显示在Andika Africa中,但即使在Keyman应用程序中,文本区域(keymanWeb和Android)也使用不完整的等宽字体,但显示不正确。我认为Keyman应用程序可以使用我的自定义字体,至少在某些地方。

我们使用分解的变音符号,以及自v5以来一直使用Unicode的一些IPA特殊字符。一些像这样的变音符号不会留在他们的信件上。以下是我们最复杂的角色/组合的样本:ɛɔə̌ʉɨ᷅ɄƁŒƐ̩。

https://github.com/erros84/Cameroon-Keyboard/blob/master/Screenshot.png

我是否错误地认为我可以添加字体(至少对于KM记事本界面),甚至可能超出。我知道移动字体是绝对的,因此它们可以最小化RAM。我选择了Andika Afr的美学,区域完整性和大小。

如果我无法为此添加特定字体,那么KM Android会安装我可以锁定的任何相对完整(和非等宽)的字体吗? 我会很高兴任何Andika,Charis SIL,Doulos SIL,Arial,Noto,Cambria,Gentium,DejaVu,code2000,Arial,Lucida。

响应Marc的更新:

好的,所以我读完了编译错误,所以我解决了几个关键问题。有一个有趣的:Warning: line 0 warning 209F: The touch layout font should be the same as the On Screen Keyboard font and be the same for all platforms.

.js文件引用了Andika和Andika Afr。搜索之后,唯一包含对“Andika”(不是Andika Afr)的引用的其他文件是KVK文件(不能直接编辑)。奇怪的是,从项目中删除KVK并重新测试Android键盘将所有内容都设置回Courier。

似乎Android上触控键盘的编辑奇怪地与KVK上的字体设置相关联,我无法弄清楚如何在KVK中重新配置字体(无代码视图)。

1 个答案:

答案 0 :(得分:0)

fontBaseUri似乎不正确。它应该引用最终字体文件所在的文件夹:

"fontBaseUri" : "https://github.com/erros84/Cameroon-Keyboard/raw/master/Fonts/"