<!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>
<BR>
<BR>
Here his the script: <BR>
<BR>
########################################<BR>
#!/usr/bin/env bash<BR>
<BR>
DIR=/tmp/psf/txt<BR>
rm -rf /tmp/psf<BR>
mkdir -p $DIR<BR>
<BR>
## For each font in the current folder...<BR>
for i in $( find . -regex '.*psfu?' -not -name "README*" | cut -c3- ); do<BR>
## Convert to txt<BR>
psf2txt $i >> $DIR/$i.txt<BR>
<BR>
## Match the Unicode line of the space glyph and replace it to support all kind of Unicode spaces.<BR>
## Store the result in a '.edit' file.<BR>
sed "/\[00000020\];/c\Unicode: [00000020];[000000a0];[00002000];[00002001];[00002002];[00002003];[00002004];[00002005];[00002006];[00002007];[00002008];[00002009];[0000200a];[0000202f];" $DIR/$i.txt > $DIR/$i.edit<BR>
<BR>
## Convert back to psf<BR>
txt2psf $DIR/$i.edit > /tmp/psf/$i<BR>
done<BR>
## We did it! \o/<BR>
########################################<BR>
<BR>
What are your thoughts?<BR>
<BR>
Cheers,<BR>
Nicolas
</BLOCKQUOTE>
<PRE>
Oh, of course you will need "psftools": <A HREF="http://www.seasip.demon.co.uk/Unix/PSF/#download">http://www.seasip.demon.co.uk/Unix/PSF/#download</A>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
<BR>
</TD>
</TR>
</TABLE>
</PRE>
</BODY>
</HTML>