TrueType,想说爱你不容易……

  在搞定了字体的动态加载/卸载后,周末对最后一项可行性实验——“集成FreeType支持”发起了挑战。虽然对困难有足够的估计,但是FreeType的叛逆还是让我很恼火。因为Symbian没有提供WINS版本的FreeType.dll,导致无法直接在模拟上进行调试。也罢,自己写了一个Dummy来模拟FreeType.dll的行为,然后一举在模拟器上调试通过。如此“顺利”的进展也让我多少有点意外,哪知道上机测试即告失败。启动时直接卡在“NOKIA”几个大字阶段,漫长的等待后——“白屏”……

  好在本次项目启动后所完成的第一个特性就是“防白屏保护”,让我免除了后顾之忧。还记得一年前因为存着侥幸心理,结果调试FontRouter的过程中NG白屏过两次,造成高达数十元RMB的直接经济损失以及往返于“通天地”的奔波之苦,最后还落得收音功能实效的后遗症……

  开源的FreeType项目在被Symbian移植后,不但拒绝开源不说,甚至连模拟器上的DLL版本都不提供,如此讳莫如深,让人多少有些感叹Symbian和开源的潮流实是相去甚远……

Good news and bad news

  好消息是,成功在S60 v2.0(Symbian 7.0s) 的模拟器上初步实现了字体的动态卸载;

  坏消息是,由于Symbian 6.1字体管理机制的bug(在7.0s中已被修正),动态卸载字体会导致不可预料的后果(说白了就是随机重启……)。看来,N-Gage/QD/3650系列是无缘这一重要的优势了。

  My poor N-Gage… 🙁

FontRouter新版本计划已启动

  时隔一年多,终于在最近重新启动了FontRouter的新版本计划。尽管工作依旧很忙,但我仍希望能在每天晚上下班后抽出一两个小时的时间继续进行开发,为这个沉寂已久的软件带来一些新的活力。

  新版本主要关注的方向是:

继续阅读FontRouter新版本计划已启动

终于让Source Insight也能识别Symbian的_LIT宏了

  不得不承认,Source Insight 确实很强大,以至于太多的高级功能都未能在帮助文档中一一详述,只能依靠我们自己来发掘了……

  今天,碰巧发现了”Language – Custom Tag Type”这个功能,一举解决了困扰我已久的 Symbian “_LIT”宏解析问题。(也不知道是否因为我的 Conditions 定义的不足导致的……)

  长话短说,”Options – Document Options”,新建一个”Document Type”,如”Symbian C++ Source Files”,继承原有”C++ Source Files”的属性。然后在左下角”Parsing”设置组中的”Custom Tag Type”下选择”Constant”,并将下面的正则表达式填入”Custom pattern”:

  ^w*_LIT(w*([A-Za-z0-9]+)w*,.*

  OK, resynchronize your project, you’ll see it!

  注:记得将 Document Type 中原 c 和 cpp 的 File Filter 项里面的扩展名 .cpp 和 .h 屏蔽掉,否则 SI 不会调用我们新建的 Document Type 来解析的。

Symbian, I’m back!

  忙了三个多月的事情终于告一段落,无论成败都是该放下的时候了。从现在开始,总算有时间来继续我在Symbian下的创作,想起来不觉有些酸楚……

  一年多了,为了忙工作,实在冷落了 Symbian 太多,每每想起曾经的豪情壮志,都被内心的无奈所压抑。好在一切都已成为过往,拨云见日,我又看到那一片碧蓝的天空!

  Symbian, I’m back!