Wednesday, December 13, 2017

i18n FAD Pune 2017

Last month we had our first i18n Fedora Activity Day (FAD) in Pune, from 20th to 22th November. In Red Hat, Pune office, we hack together for 3 days. It is a really great experience that we collaborate together again.

Day 1

First we have self introductions and the plans for this FAD.

The first presentation is given by Tagoh-san for Fonts and Rendering in Fedora. Following his topic, I shared my debugging experience about pango, and summarized the status of default Chinese fonts of Adobe Source Han fonts asked by Jens Petersen.

Later, Takao Fujiwara explained IBus 1.6 plans and emoji demo. We discussed about some items of IBus plans. Then I suggested to collect API changes, and discuss more about changed API. And I plan to implement ForwardKeyEvent method for Qt 5 in this FAD.

Mike Fabian gave demos about ibus-typing-booster and emoji-picker. Then Rafal presented his work on locales. Sundeep and Parag showed transtats and transtats-cli demo.

Day 2

Suggested by Mike FABIAN, I reported `ls -lh` date/time issues to coreutils upstream. Now I got some feedback about it. It is a known issue but seems hard to fix it. The date/time column in English column contains 12 characters, if we add one character for CJK. The column will become too long; if we remove some space characters from date/time string, it will cause some problem in scripts such as cut, sed, awk, etc.

I spend the most time of the day with Takao Fujiwara to implement ForwardKeyEvent method. In the beginning I rebuilt the qt5-qtbase source rpm, but it takes too long time to finish building. Helped by Takao Fujiwara, I start to copy the binary library to the system, it makes debugging faster. Later we discussed the details about the patch, peer review helps to write the patch quickly.

Day 3

Today we have Fedora 27 release party and nice cake.

The Qt patch seems to work now, we begin to check whether ibus-hangul and ibus-typing-booster work with the ForwardKeyEvent method. The results seems work well, and we submited the patch for upstream review.

I had really nice experience during visiting Pune. Thanks Parag and Sundeep for organizing this event! Thanks to Fedora Council for approving this FAD budget and Bex for helping us with all kinds of budget issues!

Monday, November 23, 2015

G11N FAD Report

From Nov 1 to Nov 3, we joined G11N FAD 2015.

During 3 days, we have various activities, such as discussions and hackathons, etc.

For the first day, Jens Petersen gives a warm welcome and introduction.
And after some other introductions, we know about other G11N teams better.

In the afternoon of day one, with Takao Fujiwara and Daiki Ueno we
discussed ibus future development, such as the differences between ibus and fcitx.
Ueno-san told me about the gnome input method support status for wayland.
And we discussed whether can improve ibus wayland support.

For the second day, Mike Fabian told me there are two ways to package glibc locales:
  1. with locale archive;
  2. with locales in many folders;

During second day, we use the builtin systemd bootchart module and Michael Meeks' bootchart projects to compare the boot time with two ways to package glibc locales.
This time we mainly tested a few locales installed.

For the third day, we continued with glibc sub-packaging benchmarks.
This time we tested with full locales installed.
The results seems a bit random, but the performance seems not different much.

Finally we have good outcomes from this FAD, and have a nice photo. :)

Monday, September 19, 2011

How to highlight #if 0 in emacs

In vim, the editor can highlight the #if 0 ... #endif block, which emacs lacks. I did some digs in the web, and find a solution, with some slight modifications.
Here are the Original Post.
Just add the below code snippet to your ~/.emacs:
(defun my-cpp-highlight ()
  "highlight c/c++ #if 0 #endif macros"
  ;; (interactive)
  (setq cpp-known-face 'default)
  (setq cpp-unknown-face 'default)
  (setq cpp-known-writable 't)
  (setq cpp-unknown-writable 't)
  (setq cpp-edit-list '(("0" font-lock-comment-face default both)
                        ("1" default font-lock-comment-face both)))
  (cpp-highlight-buffer t))

(add-hook 'c-mode-common-hook 'my-cpp-highlight)

And your emacs will highlight the #if 0 ... #endif block for you.:)

Monday, October 18, 2010

SunPinyin、Novel Pinyin和iBus-Pinyin展开全面合作

SunPinyin、Novel Pinyin和iBus-Pinyin社区决定长期合作,联手创建libpinyin子项目。libpinyin致力于为中文拼音输入法提供智能整句输入的算法核心,将试图合并novel-pinyin和sunpinyin中的智能拼音整句输入算法部分,争取实现目前SunPinyin和Novel Pinyin的功能超集。


Project Wiki:
Project SCM:
Mailing List:


Tuesday, June 29, 2010

novel-pinyin 0.2.5 released.

Here are the new change log for novel-pinyin:
* Fixes train factor.
* Fixes file open/close bug in utils.
* Fixes a bug in winner tree,
which may potentially lower the correct rate.

And this package is uploaded to sourceforge today.
The source control system for novel-pinyin has been switched from CVS to SVN. If you want to check out the newest code, please use the new SVN repository.

Friday, November 20, 2009


同时新申请了一个mailing list (专为 novel-pinyin 开发和讨论使用。

Monday, July 06, 2009

How to prepare a Mozilla Building and Debuging Environment.

The following information is about Firefox 3.0 and mozilla-xulrunner 1.9.0 on SUSE Linux. Please following the steps below:

  1. Grab MozillaFirefox 3.0.x and mozilla-xulrunner 1.9.0.x packages, and extract their contents to directory MozillaFirefox and mozilla-xulrunner190.
  2. Use quilt to apply patches to mozilla-xulrunner190:

    1. use quilt -v setup mozilla-xulrunner190.spec to setup the xulrunner 1.9.0 source tree.
    2. change directory to mozilla-xulrunner190/mozilla, using quilt push -a, to apply all xulrunner 1.9.0 patches.
    3. use quilt import to import all patches in MozillaFirefox packages, as we put Firefox patches in two seperate packages containing different patches.

  3. Put a mozconfig in directory mozilla-xulrunner190/mozilla, contains the following informations:

    . $topsrcdir/browser/config/mozconfig
    mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-ff-debug
    ac_add_options --enable-debug
    ac_add_options --disable-optimize

  4. Type the command "make -f build" in directory mozilla-xulrunner190/mozilla.
  5. Wait for compiling finished, go to directory objdir-ff-debug/dist/bin, using "./firefox" to run the built Firefox 3.0.

In SUSE Mozilla Team now.

Since February 2009, I was transfered from i18n team to Mozilla team in Novell.
Although it is a tough task, but it is also interesting to me.

Recent months I am very busy, thanks for the help from Wolfgang. Later maybe I can spend more time on making patches. :)

As I spend lots of time about how to debug Firefox bugs on SUSE Linux. I will write some series of articles to ease others to join developing Mozilla Firefox on SUSE Linux.