<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.28.3">
</HEAD>
<BODY>
Le vendredi 03 septembre 2010 à 01:50 +0200, Nicolas Delvaux a écrit :<BR>
<BLOCKQUOTE TYPE=CITE>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
As a side-note to the request, you can change your local psfu fonts
using psftools (from freshmeat if your distro doesn't supply it):
txt2psf to reproduce the font in a text form ('-' for blank pixels,
'#' for lit pixels),
edit it to add more characters to the space glyph - e.g.
Unicode: [00000020];[000000a0];[0000202f];
(to add U+202f to an existing U+00a0).
and then txt2psf to convert the altered file to a psfu font.
</PRE>
</BLOCKQUOTE>
<BR>
I wrote a simple script from this which update all fonts.<BR>
This fix this bug for me and, as an extra bonus, it also implement most Unicode spaces.<BR>
<BR>
In the process I noticed that "Lat2-Terminus16.psfu" already supported all spaces, except narrow no-break space.<BR>
I also noticed that some fonts have some duplicate mapping (eg. "UniCyrExt_8x16.psf" have "Unicode: [00000020];[000000a0];[000000a0];")<BR>
My script cleans all those things.<BR>
<BR>
You have to execute this script in the font directory (so from "$KBD-SOURCE-DIR/data/consolefonts") and then you will find updated fonts in "/tmp/psf".<BR>
Then you just have to replace old ones in the src-dir and make/make install.<BR>
</BLOCKQUOTE>
<BR>
This was only a partial fix, because fonts that don't have a build-in Unicode map were still defective.<BR>
So I made a patch to update all unimaps files (so the 'data/unimaps' folder).<BR>
You can get it here: <A HREF="http://malaria.perso.sfr.fr/kbd/unimaps.patch">http://malaria.perso.sfr.fr/kbd/unimaps.patch</A><BR>
<BR>
I also made a tar.gz with an updated 'data/consolefonts' folder (thanks to my script). You can download it here: <A HREF="http://malaria.perso.sfr.fr/kbd/updated_consolefonts.tar.gz">http://malaria.perso.sfr.fr/kbd/updated_consolefonts.tar.gz</A><BR>
<BR>
So, basically, if you apply this patch and replace all fonts by their updated version, then your KBD will support all Unicode spaces (and so the 'narrow no-break space' which is the one I primarily want).<BR>
<BR>
<BR>
You can test with "/usr/bin/printf '\uCODEx\n'" where 'CODE' can be 0020, 00a0, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 200a or 202f.<BR>
(Yes, all are different kinds of Unicode spaces. See this site if you want more details about each char: <A HREF="http://www.fileformat.info/info/unicode/char/search.htm)">http://www.fileformat.info/info/unicode/char/search.htm</A> )<BR>
<BR>
Does it feel as a proper fix for you? If not, how can I improve it?<BR>
<BR>
Regards,<BR>
Nicolas<BR>
<BR>
ps: the script to update psf fonts is available here: <A HREF="http://malaria.perso.sfr.fr/kbd/update-psf.sh">http://malaria.perso.sfr.fr/kbd/update-psf.sh</A>
</BODY>
</HTML>