Tweeter button

Archive for the ‘Projects’ Category

Fantasdic in GTP

Friday, September 21st, 2007

Fantasdic has been added to the GNOME Translation Project (GTP) last week. As a result, Fantasdic now has its own translation status page.

The hope is that Fantasdic will benefit more translations and that translations will be easier to maintain on the long term, with members of the GTP having access to the Fantasdic repository. With external translators, I have to email them new .po files and commit their translations. Currently only a Spanish translation has been contributed (in addition to the existing Brazilian Portuguese, Breton (!), French, German, Italian, Japanese, Occitan (!), Serbian and Swedish ones). This is less than I would have hoped but this is a good start.

To make it perfectly clear, here I’m talking about translations of the user interface. It doesn’t have anything to do with dictionary data.

User documentation for Fantasdic

Friday, September 21st, 2007

Yesterday I’ve added user documentation support to Fantasdic, as can be found in the Help > Contents menu of most GNOME applications. This is not an area developers are generally willing to spend much time for because what is documented sometimes sounds like trivial (”to look up a word in the dictionary, enter your word in the search entry and press enter”) but I think that this is definitely important for adoption of Fantasdic in major distributions. Writing comprehensive, concise and clear documentation, in addition to adding all the required infrastructure in the program, is in itself a difficult exercise so I ended up spending a fair amount of time for that. I also improved my knowledge of Docbook and learned about scrollkeeper and OMF while doing it. I definitely didn’t waste my time.

When available, the documentation is displayed using yelp, the GNOME help viewer, otherwise (Windows, KDE) the HTML version of the documentation is displayed in the default browser.

Oh, by the way, the documentation is not yet totally complete, so here’s a bunch of useful commands if ever you’re willing to help with documentation:

Check the validity of the document:
$ xmllint –noout –noent –valid fantasdic.xml

Transform the document:
$ xsltproc –noout -o output stylesheet.xsl fantasdic.xml

Visualize the document:
$ yelp -p /full/path/to/fantasdic.xml

Create a .po (translation) file:
$ xml2po -o LANG.po ../C/fantasdic.xml

Merge back the changes to fantasdic.xml:
$ xml2po -p LANG.po -o fantasdic.xml ../C/fantasdic.xml

Update an existing .po file:
$ xml2po -u LANG.po ../C/fantasdic.xml

Convert to HTML:
$ xmlto -o html-dir html fantasdic.xml

New Fantasdic version

Sunday, September 9th, 2007

Fantasdic 1.0-beta4 released

I’ve just released Fantasdic 1.0-beta4. Fantasdic is a dictionary application that uses the network to look up words. For example, nihongobenkyo.org is a server that provides Japanese dictionaries. Add it to the settings in Fantasdic and voilà, you can now look up Japanese words using Fantasdic. Another well-known server with tons of dictionaries is dict.org.

Fantasdic

What’s new with this release?

- Print support.
- New match dialog.
- New history dialog.
- Can choose fonts in the preferences.
- Zoom+, Zomm-, Zoom normal buttons.
- New “Zoom over character” dialog.
- Better handling of connections and cache.
- Better support of authentication.
- SOCKS 5 Proxy support.
- New application icon.
- Various bug fixes.
- Better MS Windows support and easy to install archive.

- French translation updated (Mathieu Blondel).
- Brazilian Portuguese translation updated (Alexandre Cavedon).
- Swedish translation updated (Daniel Nylander).
- Occitan translation updated partially (Yannig Marchegay).

Source: fantasdic-1.0-beta4.tar.gz [123 KB]
Windows: fantasdic-1.0-beta4-mswin32.zip [15.5 MB]

(more…)

WikipediaFS 0.3 released

Sunday, May 27th, 2007

I probably should not have spent so much time on this with all the things I have to do lately but here we are: I have released WikipediaFS 0.3. With WikipediaFS, you can view and edit Wikipedia articles as if they were real files.

WFS screenshot

Highlights for this release :

- Compatible with new fuse-python API
- Rewritten from scratch
- Significant reliability and performances improvements
- HTTPS, HTTP authentication support (in addition to HTTP and proxy)
- Subpages support
- Automatically make directories for sites from the Wikimedia foundation
- Files now need the “.mw” extension!

Overall, I am very happy with this release!

I would like to thank Csaba Henk (fuse-python’s maintainer and author of fuse’s port to FreeBSD) for his prompt answers to my questions.

Sébastien Delafond uploaded this version to the Debian servers yesterday. By the way, yesterday I found out that WikipediaFS 0.2 had been downloaded almost 2000 times on sourceforge. Not bad ! :-)

nihongobenkyo.org launched

Saturday, March 3rd, 2007

I spent quite some time this week working on a public dictionary server focusing on Japanese language. The idea is that you just have to install a dictionary client, such as Fantasdic, in order to get a full-featured Japanese dictionary. Add “nihongobenkyo.org” in the settings and voilà ! I have decided to abandon the former Nihongo Benkyo project because I think that the Fantasdic + nihongobenkyo.org server approach advantageously replace it. See nihongobenkyo.org for more details.

今週一般向け日本語辞書サーバーを作るために、時間をけっこう費した。目的はFantasdicっていった辞書クライアントをインストールして、セッティングで ”nihongobenkyo.org”を書けば、ほら!日本語辞書が手に入ること。この方が便利だと思うから、昔の Nihongo Benkyoプロジェクトはもう止めると決めた。詳細はnihongobenkyo.orgを見てください。日本語のバージョンもあるよ。

If you are interested in creating your own dictionaries for the dictd server, I have written a class in Ruby language that does just that. Compared to the dictfmt utility distributed with dictd, its main advantage is that it is possible to associate more than one index entry with one definition. In this process, I also learned a useful trick. The following code allows to write a file and sort it “on the fly”. Easy but useful.

自分自身のdictdの辞書を作ることに興味があったら、ぼくはそのためにルビーのクラスを書いた。dictdのdictfmtツールよりいいのは、いくつかのインデックスのエントリーを一つの説明にまとめることが出来る。またそれを調べながら、いい勉強が出来た。下のコードはファイルに書いて、同時にそのファイルをソートするためのもの。簡単で便利。(^^ )


f = IO.popen("sort > file_name", "w")
["d","b","a","c"].each do |line|
f.write(line + “\n”)
end
f.close

will output :

a
b
c
d

Fantasdic in GNOME Subversion

Sunday, January 21st, 2007

With GNOME having migrated to Subversion, Fantasdic’s source code is now available from Subversion as well.

Repository web interface:
http://svn.gnome.org/viewcvs/fantasdic/

Anonymous checkout:
$ svn checkout http://svn.gnome.org/svn/fantasdic/trunk

Developer checkout:
$ svn checkout \
svn+ssh://yourlogin@svn.gnome.org/svn/fantasdic/trunk

EPWING dictionaries with dictd server

Tuesday, December 5th, 2006

A few months ago, I wrote about EPWING dictionaries, a very popular format in Japan. I personally own three commercial dictionaries in this format: Eijiro (English to Japanese), CrownFR (excellent French to Japanese dictionary) and Le Concis JF (Japanese to French).

I wrote a conversion script in order to use them with a dictd server, which means I can now use them with Fantasdic. See for example this screenshot of the excellent CrownFR in Fantasdic:

The script is currently in the Fantasdic CVS and will be shipped with the next release.

Now with those dictionaries and converted stardict dictionaries, I now have very high quality English, French, Chinese and Japanese dictionaries for my daily needs. I am very happy.

The current TODO list for Fantasdic includes:

- Work on a new “matches side pane” which will allow to select and see results in case a query returns many results.

- Add support for Gtk::Print, which will allow to print definitions or export them as PDF.

- Switch from gtk-trayicon to Gtk::StatusIcon, which should bring portability to Windows.

- Add Japanese language specific features such as romaji input and word desinflection through Mecab.

- Close the Nihongo Benkyo project and use nihongobenkyo.org to run a public server with Japanese dictionaries. Include a web interface to query the server.

Fantasdic in Debian sid

Tuesday, November 28th, 2006

Fantasdic should make its way to Debian sid soon. Thanks again to Sébastien Delafond (also WikipediaFS’s package maintainer).

Fantasdic 1.0-beta 2 released

Tuesday, November 21st, 2006

I am releasing Fantasdic 1.0-beta 2. A lot of love with this release:

- Revamped add dictionary dialog.
- New strategy drop down menu on the main window.
- New stop button in the toolbar.
- New option to choose whether Fantasdic should lookup last word at startup.
- New command-line options.
- Now hold connections form some time and close too old connections.
- New find pane.
- New command-line tools: a basic server, a proxy and some format conversion tools.

I recommend to use ruby-gnome2 0.14.1 or CVS. You may encounter random crashes if you are using ruby-gnome2 0.15…

There is also a new web site : http://www.gnome.org/projects/fantasdic/

Download: tarball, deb

TTF/Ruby, first release!

Thursday, November 9th, 2006

I am pleased to announce the first release (version 0.1) of TTF/Ruby, under the terms of the GNU GPL.

TTF/Ruby is a pure Ruby library to read and write TrueType fonts.

Tables supported are :

- Cmap *
- Cvt *
- Fpgm *
- Gasp
- Glyf
- Head
- Hhea
- Hmtx
- Kern *
- OS/2
- Post *
- Prep *
- Vhea
- Vmtx

(Tables marked with an * are only partially supported)

API documentation is written directly in the source code and may be generated with the following command-line:

$ rdoc –main “Font::TTF::File”

As you noticed, this release is marked 0.1 so do not expect API compatibility for the next releases.

The tarball also ships some useful tools (and proofs of concept) based on TTF/Ruby.

ttfdump: a command-line tool to extract informations about a font.

ttfsubset: a tool which from a font and an input file generates a subset from this font containing only characters in the input file. Maybe useful to embed a lighter version of a font in a document or in an embedded system.

ttfcairoglyphviewer: renders a selected glyph using Ruby/GTK, Rcairo and TTF/Ruby. It also displays markers for corner points, curve control points, and implicit points.

ttfglyph2svg: prints to stdout a selected glyph in SVG format.

Comments are of course welcome. And there is a large TODO list for the braves ;-)

I would like to thank Evermore Software, China, where I am currently an intern, for giving me the permission to release this project (which started as a prototype for a Java program).

Download: http://www.mblondel.org/files/ttf-ruby/ttf-ruby-0.1.tar.gz


The 愛 japanese Kanji rendered thanks to Ruby/GTK, RCairo and TTF/Ruby (i.e. without FreeType).