[kbd] Please support narrow no-break space (U+202F)
Nicolas Delvaux
nicolas.delvaux at gmx.com
Thu Sep 2 23:54:01 UTC 2010
Le vendredi 03 septembre 2010 à 01:50 +0200, Nicolas Delvaux a écrit :
>
>
> > 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.
>
>
> I wrote a simple script from this which update all fonts.
> This fix this bug for me and, as an extra bonus, it also implement
> most Unicode spaces.
>
> In the process I noticed that "Lat2-Terminus16.psfu" already supported
> all spaces, except narrow no-break space.
> I also noticed that some fonts have some duplicate mapping (eg.
> "UniCyrExt_8x16.psf" have "Unicode:
> [00000020];[000000a0];[000000a0];")
> My script cleans all those things.
>
> 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".
> Then you just have to replace old ones in the src-dir and make/make
> install.
>
>
> Here his the script:
>
> ########################################
> #!/usr/bin/env bash
>
> DIR=/tmp/psf/txt
> rm -rf /tmp/psf
> mkdir -p $DIR
>
> ## For each font in the current folder...
> for i in $( find . -regex '.*psfu?' -not -name "README*" | cut -c3- );
> do
> ## Convert to txt
> psf2txt $i >> $DIR/$i.txt
>
> ## Match the Unicode line of the space glyph and replace it to support
> all kind of Unicode spaces.
> ## Store the result in a '.edit' file.
> sed "/\[00000020\];/c\Unicode:
> [00000020];[000000a0];[00002000];[00002001];[00002002];[00002003];[00002004];[00002005];[00002006];[00002007];[00002008];[00002009];[0000200a];[0000202f];" $DIR/$i.txt > $DIR/$i.edit
>
> ## Convert back to psf
> txt2psf $DIR/$i.edit > /tmp/psf/$i
> done
> ## We did it! \o/
> ########################################
>
> What are your thoughts?
>
> Cheers,
> Nicolas
Oh, of course you will need "psftools": http://www.seasip.demon.co.uk/Unix/PSF/#download
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.altlinux.org/pipermail/kbd/attachments/20100903/e1a9d73f/attachment.html>
More information about the kbd
mailing list