summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/bdf2fbcon21
1 files changed, 20 insertions, 1 deletions
diff --git a/bin/bdf2fbcon b/bin/bdf2fbcon
index 0482595..f7501b1 100755
--- a/bin/bdf2fbcon
+++ b/bin/bdf2fbcon
@@ -15,6 +15,7 @@ use constant {
BDF_2_1_SECTION_NONE => 0,
BDF_2_1_SECTION_PROPERTIES => 1,
BDF_2_1_SECTION_CHAR => 2,
+ BDF_2_1_SECTION_BITMAP => 3,
};
my $VERSION;
@@ -212,6 +213,12 @@ sub parse_bdf_2_1
my $stmt;
my $arg;
my @argv;
+ my $font_bbox_x;
+ my $font_bbox_y;
+ my $char_bbox_w;
+ my $char_bbox_h;
+ my $char_bbox_x;
+ my $char_bbox_y;
my $char;
$section = BDF_2_1_SECTION_NONE;
@@ -229,6 +236,8 @@ sub parse_bdf_2_1
unless ($font->{'height'}) {
$font->{'height'} = $argv[1];
}
+ $font_bbox_x = $argv[2];
+ $font_bbox_y = $argv[3];
} elsif ($stmt eq 'COMMENT') {
push(@{$font->{'comments'}}, $arg);
} elsif ($stmt eq 'STARTPROPERTIES') {
@@ -252,8 +261,18 @@ sub parse_bdf_2_1
} elsif ($section == BDF_2_1_SECTION_CHAR) {
if ($stmt eq 'ENCODING') {
$font->{'chars'}[$argv[0]]->{'name'} = $char;
- } elsif ($stmt eq 'ENDCHAR') {
+ } elsif ($stmt eq 'BBX') {
+ $char_bbox_w = $argv[0];
+ $char_bbox_y = $argv[1];
+ $char_bbox_x = $argv[2];
+ $char_bbox_y = $argv[3];
+ } elsif ($stmt eq 'BITMAP') {
+ $section = BDF_2_1_SECTION_BITMAP;
+ }
+ } elsif ($section == BDF_2_1_SECTION_BITMAP) {
+ if ($stmt eq 'ENDCHAR') {
$section = BDF_2_1_SECTION_NONE;
+ } else {
}
}
}