Added custom fontset
This commit is contained in:
parent
5995d1ea37
commit
2374c19a0f
|
@ -4,13 +4,13 @@
|
|||
|
||||
let
|
||||
overlay = final: prev: {
|
||||
dina-psf = prev.callPackage ./fonts/dina-psf.nix { };
|
||||
dina-psf = prev.callPackage ./fonts/dina-psf/default.nix { };
|
||||
ttf2psf = prev.callPackage ./fonts/ttf2psf.nix { };
|
||||
wqy-zenhei = prev.callPackage ./fonts/wqy-zenhei.nix { };
|
||||
wqy-microhei = prev.callPackage ./fonts/wqy-microhei.nix { };
|
||||
wqy-bitmapsong = prev.callPackage ./fonts/wqy-bitmapsong.nix { };
|
||||
|
||||
ly = prev.callPackage ./programs/ly/default.nix { };
|
||||
# ly = prev.callPackage ./programs/ly/default.nix { };
|
||||
};
|
||||
in
|
||||
{
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
pkgs.stdenv.mkDerivation {
|
||||
pname = "dina-psfu";
|
||||
version = "1.0.0";
|
||||
|
||||
unpackPhase = ''
|
||||
true
|
||||
'';
|
||||
|
||||
buildInputs = with pkgs; [
|
||||
bdf2psf
|
||||
fontforge
|
||||
kbd
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
# Get the base Dina font
|
||||
cp ${pkgs.dina-font.bdf}/share/fonts/misc/Dina_r400-9.bdf ./dina.bdf
|
||||
|
||||
# Set the AVERAGE_WIDTH property on the font
|
||||
sed 's/STARTPROPERTIES 16/STARTPROPERTIES 17\
|
||||
AVERAGE_WIDTH 70/' ./dina.bdf > ./dina-enc.bdf
|
||||
|
||||
# # Reencode the font from code page CP1252 (Windows) to unicode
|
||||
# fontforge -lang=ff -c "Open(\"dina-mod.bdf\"); Reencode(\"win\", 1); Reencode(\"iso10646-1\"); Generate(\"dina-enc.bdf\")"
|
||||
# mv dina-enc-*.bdf dina-enc.bdf
|
||||
|
||||
# Convert the bdf to psf
|
||||
bdf2psf --fb ./dina-enc.bdf \
|
||||
${pkgs.bdf2psf}/share/bdf2psf/standard.equivalents \
|
||||
${pkgs.bdf2psf}/share/bdf2psf/fontsets/Uni3.512 \
|
||||
512 ./dina-enc.psfu ./dina.sfm
|
||||
|
||||
# Get the font table
|
||||
psfgettable ./dina-enc.psfu ./dina.table
|
||||
|
||||
# Add some entries to the font table
|
||||
echo "0x0e U+2518" >> ./dina.table
|
||||
echo "0x0f U+2514" >> ./dina.table
|
||||
echo "0x10 U+250c" >> ./dina.table
|
||||
echo "0x11 U+2510" >> ./dina.table
|
||||
echo "0x12 U+2500" >> ./dina.table
|
||||
echo "0x13 U+2502" >> ./dina.table
|
||||
echo "0x14 U+2524" >> ./dina.table
|
||||
echo "0x15 U+2534" >> ./dina.table
|
||||
echo "0x16 U+251c" >> ./dina.table
|
||||
echo "0x17 U+252c" >> ./dina.table
|
||||
echo "0x18 U+253c" >> ./dina.table
|
||||
echo "0x19 U+2592" >> ./dina.table
|
||||
|
||||
# Rebuild the font
|
||||
psfstriptable ./dina-enc.psfu ./dina-stripped.psfu
|
||||
psfaddtable ./dina-stripped.psfu ./dina.table ./dina.psfu
|
||||
|
||||
# For debugging, get the table again
|
||||
psfgettable ./dina.psfu ./dina-final.table
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -Dm644 -t $out/debug *
|
||||
install -Dm644 -t $out/share/consolefonts dina.psfu
|
||||
'';
|
||||
}
|
|
@ -0,0 +1,257 @@
|
|||
# Created from the ascii2u table in bdf2psf
|
||||
U+00A0
|
||||
U+25A0
|
||||
U+00B2
|
||||
U+207F
|
||||
U+221A
|
||||
U+00B7
|
||||
U+2219
|
||||
U+00B0
|
||||
U+2248
|
||||
U+00F7
|
||||
U+2321
|
||||
U+2320
|
||||
U+2264
|
||||
U+2265
|
||||
U+00B1
|
||||
U+2261
|
||||
U+2229
|
||||
U+03B5
|
||||
U+03C6
|
||||
U+221E
|
||||
U+03B4
|
||||
U+03A9
|
||||
U+0398
|
||||
U+03A6
|
||||
U+03C4
|
||||
U+00B5
|
||||
U+03C3
|
||||
U+03A3
|
||||
U+03C0
|
||||
U+0393
|
||||
U+00DF
|
||||
U+03B1
|
||||
U+2580
|
||||
U+2590
|
||||
U+258C
|
||||
U+2584
|
||||
U+2588
|
||||
U+250C
|
||||
U+2518
|
||||
U+256A
|
||||
U+256B
|
||||
U+2553
|
||||
U+2552
|
||||
U+2558
|
||||
U+2559
|
||||
U+2565
|
||||
U+2564
|
||||
U+2568
|
||||
U+2567
|
||||
U+256C
|
||||
U+2550
|
||||
U+2560
|
||||
U+2566
|
||||
U+2569
|
||||
U+2554
|
||||
U+255A
|
||||
U+255F
|
||||
U+255E
|
||||
U+253C
|
||||
U+2500
|
||||
U+251C
|
||||
U+252C
|
||||
U+2534
|
||||
U+2514
|
||||
U+2510
|
||||
U+255B
|
||||
U+255C
|
||||
U+255D
|
||||
U+2557
|
||||
U+2551
|
||||
U+2563
|
||||
U+2555
|
||||
U+2556
|
||||
U+2562
|
||||
U+2561
|
||||
U+2524
|
||||
U+2502
|
||||
U+2593
|
||||
U+2592
|
||||
U+2591
|
||||
U+00BB
|
||||
U+00AB
|
||||
U+00A1
|
||||
U+00BC
|
||||
U+00BD
|
||||
U+00AC
|
||||
U+2310
|
||||
U+00BF
|
||||
U+00BA
|
||||
U+00AA
|
||||
U+00D1
|
||||
U+00F1
|
||||
U+00FA
|
||||
U+00F3
|
||||
U+00ED
|
||||
U+00E1
|
||||
U+0192
|
||||
U+20A7
|
||||
U+00A5
|
||||
U+00A3
|
||||
U+00A2
|
||||
U+00DC
|
||||
U+00D6
|
||||
U+00FF
|
||||
U+00F9
|
||||
U+00FB
|
||||
U+00F2
|
||||
U+00F6
|
||||
U+00F4
|
||||
U+00C6
|
||||
U+00E6
|
||||
U+00C9
|
||||
U+00C5
|
||||
U+00C4
|
||||
U+00EC
|
||||
U+00EE
|
||||
U+00EF
|
||||
U+00E8
|
||||
U+00EB
|
||||
U+00EA
|
||||
U+00E7
|
||||
U+00E5
|
||||
U+00E0
|
||||
U+00E4
|
||||
U+00E2
|
||||
U+00E9
|
||||
U+00FC
|
||||
U+00C7
|
||||
U+007F
|
||||
U+007E
|
||||
U+007D
|
||||
U+007C
|
||||
U+007B
|
||||
U+007A
|
||||
U+0079
|
||||
U+0078
|
||||
U+0077
|
||||
U+0076
|
||||
U+0075
|
||||
U+0074
|
||||
U+0073
|
||||
U+0072
|
||||
U+0071
|
||||
U+0070
|
||||
U+006F
|
||||
U+006E
|
||||
U+006D
|
||||
U+006C
|
||||
U+006B
|
||||
U+006A
|
||||
U+0069
|
||||
U+0068
|
||||
U+0067
|
||||
U+0066
|
||||
U+0065
|
||||
U+0064
|
||||
U+0063
|
||||
U+0062
|
||||
U+0061
|
||||
U+0060
|
||||
U+005F
|
||||
U+005E
|
||||
U+005D
|
||||
U+005C
|
||||
U+005B
|
||||
U+005A
|
||||
U+0059
|
||||
U+0058
|
||||
U+0057
|
||||
U+0056
|
||||
U+0055
|
||||
U+0054
|
||||
U+0053
|
||||
U+0052
|
||||
U+0051
|
||||
U+0050
|
||||
U+004F
|
||||
U+004E
|
||||
U+004D
|
||||
U+004C
|
||||
U+004B
|
||||
U+004A
|
||||
U+0049
|
||||
U+0048
|
||||
U+0047
|
||||
U+0046
|
||||
U+0045
|
||||
U+0044
|
||||
U+0043
|
||||
U+0042
|
||||
U+0041
|
||||
U+0040
|
||||
U+003F
|
||||
U+003E
|
||||
U+003D
|
||||
U+003C
|
||||
U+003B
|
||||
U+003A
|
||||
U+0039
|
||||
U+0038
|
||||
U+0037
|
||||
U+0036
|
||||
U+0035
|
||||
U+0034
|
||||
U+0033
|
||||
U+0032
|
||||
U+0031
|
||||
U+0030
|
||||
U+002F
|
||||
U+002E
|
||||
U+002D
|
||||
U+002C
|
||||
U+002B
|
||||
U+002A
|
||||
U+0029
|
||||
U+0028
|
||||
U+0027
|
||||
U+0026
|
||||
U+0025
|
||||
U+0024
|
||||
U+0023
|
||||
U+0022
|
||||
U+0021
|
||||
U+0020
|
||||
U+25bc
|
||||
U+25b2
|
||||
U+2194
|
||||
U+221f
|
||||
U+2190
|
||||
U+2192
|
||||
U+2193
|
||||
U+2191
|
||||
U+21a8
|
||||
U+25ac
|
||||
U+00a7
|
||||
U+00b6
|
||||
U+203c
|
||||
U+2195
|
||||
U+25c4
|
||||
U+25ba
|
||||
U+263c
|
||||
U+266b
|
||||
U+266a
|
||||
U+2640
|
||||
U+2642
|
||||
U+25d9
|
||||
U+25cb
|
||||
U+25d8
|
||||
U+2022
|
||||
U+2660
|
||||
U+2663
|
||||
U+2666
|
||||
U+2665
|
||||
U+263b
|
||||
U+263a
|
||||
U+fffd
|
|
@ -0,0 +1,88 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
pkgs.stdenv.mkDerivation {
|
||||
pname = "dina-psfu";
|
||||
version = "1.0.0";
|
||||
|
||||
src = pkgs.fetchzip {
|
||||
url = "https://www.dcmembers.com/jibsen/download/61/?wpdmdl=61";
|
||||
hash = "sha256-JK+vnOyhAbwT825S+WKbQuWgRrfZZHfyhaMQ/6ljO8s=";
|
||||
extension = "zip";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
buildInputs = with pkgs; [
|
||||
bdf2psf
|
||||
fontforge
|
||||
kbd
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
# Get the base Dina font
|
||||
# cp ${pkgs.dina-font.bdf}/share/fonts/misc/Dina_r400-9.bdf ./dina.bdf
|
||||
cp BDF/Dina_r400-9.bdf ./dina.bdf
|
||||
|
||||
# Set the AVERAGE_WIDTH property on the font
|
||||
sed 's/STARTPROPERTIES 16/STARTPROPERTIES 17\
|
||||
AVERAGE_WIDTH 70/' ./dina.bdf > ./dina-enc.bdf
|
||||
|
||||
# # Reencode the font from code page CP1252 (Windows) to unicode
|
||||
# fontforge -lang=ff -c "Open(\"dina-mod.bdf\"); Reencode(\"win\", 1); Reencode(\"iso10646-1\"); Generate(\"dina-enc.bdf\")"
|
||||
# mv dina-enc-*.bdf dina-enc.bdf
|
||||
|
||||
# Create the fontset
|
||||
head -n 256 ${pkgs.bdf2psf}/share/bdf2psf/fontsets/Uni1.512 > Uni1.256
|
||||
|
||||
# Create the fontset
|
||||
cp ${./PC437.256} PC437.256
|
||||
|
||||
# Create the equivalents file
|
||||
touch empty.equivalents
|
||||
|
||||
# # Convert the bdf to psf
|
||||
# bdf2psf --fb ./dina-enc.bdf \
|
||||
# ${pkgs.bdf2psf}/share/bdf2psf/standard.equivalents \
|
||||
# ${pkgs.bdf2psf}/share/bdf2psf/fontsets/Lat2.256 \
|
||||
# 256 ./dina-enc.psfu ./dina.sfm
|
||||
|
||||
# Convert the bdf to psf
|
||||
bdf2psf --fb ./dina-enc.bdf \
|
||||
./empty.equivalents \
|
||||
./Uni1.256 \
|
||||
256 ./dina-enc.psfu ./dina.sfm
|
||||
|
||||
# Get the font table
|
||||
psfgettable ./dina-enc.psfu ./dina.table
|
||||
|
||||
# Add some entries to the font table
|
||||
# echo "0x0e U+2518" >> ./dina.table
|
||||
# echo "0x0f U+2514" >> ./dina.table
|
||||
# echo "0x10 U+250c" >> ./dina.table
|
||||
# echo "0x11 U+2510" >> ./dina.table
|
||||
# echo "0x12 U+2500" >> ./dina.table
|
||||
# echo "0x13 U+2502" >> ./dina.table
|
||||
# echo "0x14 U+2524" >> ./dina.table
|
||||
# echo "0x15 U+2534" >> ./dina.table
|
||||
# echo "0x16 U+251c" >> ./dina.table
|
||||
# echo "0x17 U+252c" >> ./dina.table
|
||||
# echo "0x18 U+253c" >> ./dina.table
|
||||
# echo "0x19 U+2592" >> ./dina.table
|
||||
|
||||
# Rebuild the font
|
||||
psfstriptable ./dina-enc.psfu ./dina-stripped.psfu
|
||||
psfaddtable ./dina-stripped.psfu ./dina.table ./dina.psfu
|
||||
|
||||
# For debugging, get the table again
|
||||
psfgettable ./dina.psfu ./dina-final.table
|
||||
${pkgs.psftools}/bin/psf2bdf ./dina.psfu ./dina-final.bdf
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -Dm644 -t $out/debug ./*.*
|
||||
install -Dm644 -t $out/debug/BDF ./BDF/*.*
|
||||
install -Dm644 -t $out/share/consolefonts dina.psfu
|
||||
'';
|
||||
}
|
Loading…
Reference in New Issue