1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461
|
fntdir ?= $(shell pwd)
include $(fntdir)/../rules.mk
# The following two shortcuts will be redefined, so they can not be
# used in recipes and target specific variables.
. := $(fntdir)
~ := fnt
Fixed13-BDFS := 8x13-IL2.bdf+8x13.bdf+8x13c.bdf
Fixed14-BDFS := georgian14.bdf+7x14-IL2.bdf+7x14.bdf+7x14c.bdf+h14.bdf+etl14-unicode.bdf
Fixed15-BDFS := 9x15-IL2.bdf+9x15.bdf+9x15c.bdf
Fixed16-BDFS := georgian16.bdf+unifont.bdf+h16.bdf+etl16-unicode.bdf
Fixed18-BDFS := 9x18.bdf
Fixed24x12-BDFS := h24.bdf+etl24-unicode.bdf
FixedBold13-BDFS := 8x13B.bdf+8x13Bc.bdf
FixedBold14-BDFS := h14_b.bdf+7x14B-IL2.bdf+7x14B.bdf+7x14c.bdf
FixedBold15-BDFS := 9x15B-IL2.bdf+9x15B.bdf+9x15Bc.bdf
FixedBold16-BDFS := h16_b.bdf
FixedBold18-BDFS := 9x18B.bdf
FixedBold24x12-BDFS := h24_b.bdf
# We have to complement 8x13O.bdf because it doesn't contain box drawings
FixedOblique13-BDFS := 8x13O.bdf+8x13.bdf
Terminus12x6-BDFS := ter-u12n.bdf
Terminus14-BDFS := ter-u14n.bdf
Terminus16-BDFS := ter-u16n.bdf
Terminus18x10-BDFS := ter-u18n.bdf
Terminus20x10-BDFS := ter-u20n.bdf
Terminus22x11-BDFS := ter-u22n.bdf
Terminus24x12-BDFS := ter-u24n.bdf
Terminus28x14-BDFS := ter-u28n.bdf
Terminus32x16-BDFS := ter-u32n.bdf
TerminusBold12x6-BDFS := ter-u12b.bdf
TerminusBold14-BDFS := ter-u14b.bdf
TerminusBold16-BDFS := ter-u16b.bdf
TerminusBold18x10-BDFS := ter-u18b.bdf
TerminusBold20x10-BDFS := ter-u20b.bdf
TerminusBold22x11-BDFS := ter-u22b.bdf
TerminusBold24x12-BDFS := ter-u24b.bdf
TerminusBold28x14-BDFS := ter-u28b.bdf
TerminusBold32x16-BDFS := ter-u32b.bdf
TerminusBoldVGA14-BDFS := ter-u14v.bdf
TerminusBoldVGA16-BDFS := ter-u16v.bdf
DejaVu30x16-BDFS := dejavu-u16.bdf
DejaVu36x20-BDFS := dejavu-u20.bdf
DejaVu43x24-BDFS := dejavu-u24.bdf
DejaVu51x28-BDFS := dejavu-u28.bdf
DejaVu59x32-BDFS := dejavu-u32.bdf
DejaVu74x40-BDFS := dejavu-u40.bdf
DejaVu89x48-BDFS := dejavu-u48.bdf
DejaVu118x64-BDFS := dejavu-u64.bdf
DejaVuBold30x16-BDFS := dejavu-u16b.bdf
DejaVuBold36x20-BDFS := dejavu-u20b.bdf
DejaVuBold43x24-BDFS := dejavu-u24b.bdf
DejaVuBold51x28-BDFS := dejavu-u28b.bdf
DejaVuBold59x32-BDFS := dejavu-u32b.bdf
DejaVuBold74x40-BDFS := dejavu-u40b.bdf
DejaVuBold89x48-BDFS := dejavu-u48b.bdf
DejaVuBold118x64-BDFS := dejavu-u64b.bdf
Courier13-BDFS := 75dpi-courR12-IL2.bdf+75dpi-courR12.bdf+75dpi-courR12c.bdf
Courier14-BDFS := 100dpi-courR10-IL2.bdf+100dpi-courR10.bdf
Courier15-BDFS := 75dpi-courR14-IL2.bdf+75dpi-courR14.bdf+75dpi-courR14c.bdf
Courier16-BDFS := 8x16c.bdf+8x16-IL2.bdf
CourierBold13-BDFS := 75dpi-courB12-IL2.bdf+75dpi-courB12.bdf+75dpi-courB12c.bdf
CourierBold14-BDFS := 100dpi-courB10-IL2.bdf+100dpi-courB10.bdf
CourierBold15-BDFS := 75dpi-courB14-IL2.bdf+75dpi-courB14.bdf+75dpi-courB14c.bdf
Lucid12-BDFS := 100dpi-lutRS08-IL2.bdf+100dpi-lutRS08.bdf
Lucid13-BDFS := 75dpi-lutRS12-IL2.bdf+75dpi-lutRS12.bdf+75dpi-lutRS12c.bdf
Lucid15-BDFS := 75dpi-lutRS14-IL2.bdf+75dpi-lutRS14.bdf+75dpi-lutRS14c.bdf
Lucid16-BDFS := 100dpi-lutRS10-IL2.bdf+100dpi-lutRS10.bdf
Lucid22x12-BDFS := 100dpi-lutRS14-IL2.bdf+100dpi-lutRS14.bdf
Lucid29x16-BDFS := 100dpi-lutRS19.bdf
LucidBold11-BDFS := 100dpi-lutBS08-IL2.bdf+100dpi-lutBS08.bdf
LucidBold13-BDFS := 75dpi-lutBS12-IL2.bdf+75dpi-lutBS12.bdf+75dpi-lutBS12c.bdf
LucidBold15-BDFS := 75dpi-lutBS14-IL2.bdf+75dpi-lutBS14.bdf+75dpi-lutBS14c.bdf
LucidBold16-BDFS := 100dpi-lutBS10-IL2.bdf+100dpi-lutBS10.bdf
LucidBold22x12-BDFS := 100dpi-lutBS14-IL2.bdf+100dpi-lutBS14.bdf
LucidBold29x16-BDFS := 100dpi-lutBS19.bdf
Goha12-BDFS := Goha12.bdf
Goha14-BDFS := Goha14.bdf
Goha16-BDFS := Goha16.bdf
GohaClassic12-BDFS := GohaClassic12.bdf
GohaClassic14-BDFS := GohaClassic14.bdf
GohaClassic16-BDFS := GohaClassic16.bdf
###################################################################
VGA8-CODESETS := Arabic CyrKoi CyrSlav FullCyrSlav Greek FullGreek Hebrew Lat15 Lat2 Lat38 Lat7 Uni1 Uni2
VGA10-CODESETS := Lat15 Lat2
VGA12-CODESETS := Lat15 Lat2
VGA14-CODESETS := Arabic CyrKoi CyrSlav FullCyrSlav Greek FullGreek Hebrew Lat15 Lat2 Lat38 Lat7 Uni1 Uni2
VGA16-CODESETS := Arabic CyrKoi CyrSlav FullCyrSlav Greek FullGreek Hebrew Lat15 Lat2 Lat38 Lat7 Uni1 Uni2
VGA19-CODESETS := Lat15
VGA28x16-CODESETS := $(VGA14-CODESETS)
VGA32x16-CODESETS := $(VGA16-CODESETS)
Arabic-legacy14-BDFS := legacy14i.bdf+legacy14f.bdf+legacy14l.bdf+legacy14b.bdf
Arabic-legacy16-BDFS := u_vga16_fix.bdf+u_vga16.bdf+legacy16c.bdf+legacy16f.bdf+legacy16k.bdf
Arabic-legacy8-BDFS := legacy8f.bdf+legacy8d.bdf+legacy8i.bdf+legacy8b.bdf
CyrKoi-legacy14-BDFS := legacy14b.bdf+legacy14a.bdf+legacy14c.bdf+legacy14g.bdf
CyrKoi-legacy16-BDFS := u_vga16_fix.bdf+u_vga16.bdf+legacy16b.bdf+legacy16a.bdf
CyrKoi-legacy8-BDFS := legacy8b.bdf+legacy8a.bdf
CyrSlav-legacy14-BDFS := legacy14a.bdf+legacy14l.bdf+legacy14c.bdf+legacy14e.bdf+legacy14i.bdf
CyrSlav-legacy16-BDFS := u_vga16_fix.bdf+u_vga16.bdf+legacy16a.bdf+legacy16k.bdf+legacy16c.bdf+legacy16b.bdf
CyrSlav-legacy8-BDFS := legacy8a.bdf+legacy8i.bdf+legacy8b.bdf+legacy8c.bdf+legacy8f.bdf
Greek-legacy14-BDFS := legacy14g.bdf+legacy14l.bdf+legacy14b.bdf+legacy14i.bdf
Greek-legacy16-BDFS := u_vga16_fix.bdf+u_vga16.bdf+legacy16a.bdf+legacy16k.bdf+legacy16c.bdf
Greek-legacy8-BDFS := legacy8a.bdf+legacy8i.bdf+legacy8b.bdf+legacy8f.bdf
Hebrew-legacy14-BDFS := legacy14h.bdf+legacy14l.bdf+legacy14i.bdf+legacy14b.bdf
Hebrew-legacy16-BDFS := u_vga16_fix.bdf+u_vga16.bdf+legacy16g.bdf+legacy16k.bdf+legacy16c.bdf
Hebrew-legacy8-BDFS := legacy8e.bdf+legacy8i.bdf+legacy8f.bdf+legacy8b.bdf
Lat15-legacy10-BDFS := legacy10b.bdf+legacy10a.bdf+legacy10d.bdf
Lat15-legacy12-BDFS := legacy12a.bdf+legacy12d.bdf+legacy12c.bdf
Lat15-legacy14-BDFS := legacy14i.bdf+legacy14l.bdf+legacy14a.bdf+legacy14b.bdf
Lat15-legacy16-BDFS := u_vga16_fix.bdf+u_vga16.bdf+legacy16c.bdf+legacy16k.bdf+legacy16a.bdf
Lat15-legacy19-BDFS := legacy19a.bdf
Lat15-legacy8-BDFS := legacy8a.bdf+legacy8i.bdf+legacy8b.bdf+legacy8f.bdf
Lat2-legacy10-BDFS := legacy10d.bdf+legacy10a.bdf+legacy10b.bdf
Lat2-legacy12-BDFS := legacy12c.bdf+legacy12d.bdf+legacy12a.bdf
Lat2-legacy14-BDFS := legacy14k.bdf+legacy14l.bdf+legacy14i.bdf+legacy14b.bdf
Lat2-legacy16-BDFS := u_vga16_fix.bdf+u_vga16.bdf+legacy16c.bdf+legacy16k.bdf
Lat2-legacy8-BDFS := legacy8f.bdf+legacy8i.bdf+legacy8b.bdf
Lat38-legacy14-BDFS := legacy14e.bdf+legacy14i.bdf+legacy14b.bdf
Lat38-legacy16-BDFS := u_vga16_fix.bdf+u_vga16.bdf+legacy16e.bdf+legacy16h.bdf+legacy16a.bdf
Lat38-legacy8-BDFS := legacy8c.bdf+legacy8f.bdf+legacy8b.bdf
Lat7-legacy14-BDFS := legacy14l.bdf+legacy14e.bdf+legacy14i.bdf+legacy14b.bdf
Lat7-legacy16-BDFS := u_vga16_fix.bdf+u_vga16.bdf+legacy16e.bdf+legacy16k.bdf+legacy16c.bdf
Lat7-legacy8-BDFS := legacy8i.bdf+legacy8c.bdf+legacy8f.bdf+legacy8b.bdf
Uni1-legacy14-BDFS := legacy14a.bdf+legacy14e.bdf+legacy14f.bdf+legacy14l.bdf+legacy14h.bdf+legacy14c.bdf
Uni1-legacy16-BDFS := u_vga16_fix.bdf+u_vga16.bdf+legacy16e.bdf+legacy16a.bdf+legacy16f.bdf+legacy16g.bdf+legacy16k.bdf+legacy16b.bdf
Uni1-legacy8-BDFS := legacy8a.bdf+legacy8c.bdf+legacy8d.bdf+legacy8i.bdf+legacy8e.bdf+legacy8b.bdf
Uni2-legacy14-BDFS := legacy14e.bdf+legacy14a.bdf+legacy14g.bdf+legacy14l.bdf+legacy14c.bdf+legacy14i.bdf
Uni2-legacy16-BDFS := u_vga16_fix.bdf+u_vga16.bdf+legacy16a.bdf+legacy16e.bdf+legacy16h.bdf+legacy16k.bdf+legacy16b.bdf
Uni2-legacy8-BDFS := legacy8a.bdf+legacy8c.bdf+legacy8i.bdf+legacy8b.bdf+legacy8f.bdf
adddouble = $(subst .bdf,-double.bdf, $(1))
Arabic-legacy32x16-BDFS := $(call adddouble, $(Arabic-legacy16-BDFS))
Armenian-legacy32x16-BDFS := $(call adddouble, $(Armenian-legacy16-BDFS))
CyrAsia-legacy32x16-BDFS := $(call adddouble, $(CyrAsia-legacy16-BDFS))
CyrKoi-legacy32x16-BDFS := $(call adddouble, $(CyrKoi-legacy16-BDFS))
CyrSlav-legacy32x16-BDFS := $(call adddouble, $(CyrSlav-legacy16-BDFS))
Ethiopian-legacy32x16-BDFS := $(call adddouble, $(Ethiopian-legacy16-BDFS))
Georgian-legacy32x16-BDFS := $(call adddouble, $(Georgian-legacy16-BDFS))
Greek-legacy32x16-BDFS := $(call adddouble, $(Greek-legacy16-BDFS))
Hebrew-legacy32x16-BDFS := $(call adddouble, $(Hebrew-legacy16-BDFS))
Lao-legacy32x16-BDFS := $(call adddouble, $(Lao-legacy16-BDFS))
Lat15-legacy32x16-BDFS := $(call adddouble, $(Lat15-legacy16-BDFS))
Lat2-legacy32x16-BDFS := $(call adddouble, $(Lat2-legacy16-BDFS))
Lat38-legacy32x16-BDFS := $(call adddouble, $(Lat38-legacy16-BDFS))
Lat7-legacy32x16-BDFS := $(call adddouble, $(Lat7-legacy16-BDFS))
Thai-legacy32x16-BDFS := $(call adddouble, $(Thai-legacy16-BDFS))
Uni1-legacy32x16-BDFS := $(call adddouble, $(Uni1-legacy16-BDFS))
Uni2-legacy32x16-BDFS := $(call adddouble, $(Uni2-legacy16-BDFS))
Uni3-legacy32x16-BDFS := $(call adddouble, $(Uni3-legacy16-BDFS))
Vietnamese-legacy32x16-BDFS := $(call adddouble, $(Vietnamese-legacy16-BDFS))
Arabic-legacy28x16-BDFS := $(call adddouble, $(Arabic-legacy14-BDFS))
Armenian-legacy28x16-BDFS := $(call adddouble, $(Armenian-legacy14-BDFS))
CyrAsia-legacy28x16-BDFS := $(call adddouble, $(CyrAsia-legacy14-BDFS))
CyrKoi-legacy28x16-BDFS := $(call adddouble, $(CyrKoi-legacy14-BDFS))
CyrSlav-legacy28x16-BDFS := $(call adddouble, $(CyrSlav-legacy14-BDFS))
Ethiopian-legacy28x16-BDFS := $(call adddouble, $(Ethiopian-legacy14-BDFS))
Georgian-legacy28x16-BDFS := $(call adddouble, $(Georgian-legacy14-BDFS))
Greek-legacy28x16-BDFS := $(call adddouble, $(Greek-legacy14-BDFS))
Hebrew-legacy28x16-BDFS := $(call adddouble, $(Hebrew-legacy14-BDFS))
Lao-legacy28x16-BDFS := $(call adddouble, $(Lao-legacy14-BDFS))
Lat15-legacy28x16-BDFS := $(call adddouble, $(Lat15-legacy14-BDFS))
Lat2-legacy28x16-BDFS := $(call adddouble, $(Lat2-legacy14-BDFS))
Lat38-legacy28x16-BDFS := $(call adddouble, $(Lat38-legacy14-BDFS))
Lat7-legacy28x16-BDFS := $(call adddouble, $(Lat7-legacy14-BDFS))
Thai-legacy28x16-BDFS := $(call adddouble, $(Thai-legacy14-BDFS))
Uni1-legacy28x16-BDFS := $(call adddouble, $(Uni1-legacy14-BDFS))
Uni2-legacy28x16-BDFS := $(call adddouble, $(Uni2-legacy14-BDFS))
Uni3-legacy28x16-BDFS := $(call adddouble, $(Uni3-legacy14-BDFS))
Vietnamese-legacy28x16-BDFS := $(call adddouble, $(Vietnamese-legacy14-BDFS))
###################################################################
# Auto-generated rasterized font faces
RASTERIZED_FACES := \
DejaVu30x16 DejaVu36x20 DejaVu43x24 DejaVu51x28 \
DejaVu59x32 DejaVu74x40 DejaVu89x48 DejaVu118x64 \
DejaVuBold30x16 DejaVuBold36x20 DejaVuBold43x24 DejaVuBold51x28 \
DejaVuBold59x32 DejaVuBold74x40 DejaVuBold89x48 DejaVuBold118x64
# All available non-legacy font faces
NONLEGACY_FACES := Fixed13 Fixed14 Fixed15 Fixed16 \
Fixed18 Fixed24x12 \
FixedBold13 FixedBold14 FixedBold15 FixedBold16 \
FixedBold18 FixedBold24x12 \
FixedOblique13 \
Terminus12x6 Terminus14 Terminus16 Terminus22x11 Terminus24x12 \
Terminus18x10 Terminus20x10 Terminus28x14 Terminus32x16 \
TerminusBold12x6 TerminusBold14 TerminusBold16 \
TerminusBold18x10 TerminusBold20x10 \
TerminusBold22x11 TerminusBold24x12 TerminusBold28x14 \
TerminusBold32x16 TerminusBoldVGA14 TerminusBoldVGA16 \
Courier13 Courier14 Courier15 Courier16 \
CourierBold13 CourierBold14 CourierBold15 \
Lucid12 Lucid13 Lucid15 Lucid16 Lucid22x12 Lucid29x16 \
LucidBold11 LucidBold13 LucidBold15 \
LucidBold16 LucidBold22x12 LucidBold29x16 \
Goha12 Goha14 Goha16 GohaClassic12 GohaClassic14 GohaClassic16 \
$(RASTERIZED_FACES)
LEGACY_FACES := VGA8 VGA10 VGA12 VGA14 VGA16 VGA19 VGA28x16 VGA32x16
FACES := $(NONLEGACY_FACES) $(LEGACY_FACES)
# 256-glyph codesets
SMALL_CODESETS := Armenian CyrAsia CyrKoi CyrSlav Georgian Greek Hebrew Lao Lat15 Lat2 Lat38 Lat7 Thai
# 256-glyph codesets which had to be compressed at the expense of semantic, and
# thus for which a Full uncompressed 512-glyph variant is useful for console
# screen readers like speakup or brltty
COMPRESSED_CODESETS := CyrAsia CyrSlav Greek
# 512-glyph codesets
LARGE_CODESETS := Arabic Ethiopian Uni1 Uni2 Uni3 Vietnamese
CODESETS := $(SMALL_CODESETS) $(LARGE_CODESETS) $(addprefix Full, $(COMPRESSED_CODESETS))
# Inside soft.Makefile the following variables are defined:
# I18N_FONT_NAMES - the names of all available fonts with enough i18n
# ENCODING_FONTSET - all sensible ENCODING - FONTSET combinations
# Use make maintainer-clean to update soft.Makefile
include $(fntdir)/soft.Makefile
# A list of all available font names
ALL_FONT_NAMES := $(sort $(foreach face, $(FACES), \
$(addsuffix -$(face), $(CODESETS))))
# Good-looking fonts with enough i18n support
GOOD_FONT_NAMES := $(filter \
%-Fixed13 %-Fixed14 %-Fixed15 %-Fixed16 %-Fixed18 \
%-Terminus12x6 %-Terminus14 %-Terminus16 \
%-Terminus22x11 %-Terminus24x12 \
%-Terminus18x10 %-Terminus20x10 \
%-Terminus28x14 %-Terminus32x16 \
%-TerminusBold14 %-TerminusBold16 \
%-TerminusBold18x10 %-TerminusBold20x10 \
%-TerminusBold22x11 %-TerminusBold24x12 \
%-TerminusBold28x14 %-TerminusBold32x16 \
%-TerminusBoldVGA14 %-TerminusBoldVGA16 \
%-DejaVu30x16 %-DejaVu36x20 %-DejaVu43x24 %-DejaVu51x28 \
%-DejaVu59x32 %-DejaVu74x40 %-DejaVu89x48 %-DejaVu118x64 \
%-DejaVuBold30x16 %-DejaVuBold36x20 %-DejaVuBold43x24 %-DejaVuBold51x28 \
%-DejaVuBold59x32 %-DejaVuBold74x40 %-DejaVuBold89x48 %-DejaVuBold118x64 \
%-Goha12 %-Goha14 %-Goha16 \
%-GohaClassic12 %-GohaClassic14 %-GohaClassic16 \
%-VGA8 %-VGA14 %-VGA16 \
%-VGA28x16 %-VGA32x16, \
$(I18N_FONT_NAMES))
# can be either GOOD_FONT_NAMES or I18N_FONT_NAMES or ALL_FONT_NAMES
FONT_NAMES := $(GOOD_FONT_NAMES)
# only small codesets can be used on FreeBSD and only non-framebuffer fonts
BSD_FONT_NAMES := $(filter-out %x6 %x10 %x11 %x12 %x14 %x16 %x20 %x24 %x28 %x32 %x40 %x48 %x64, \
$(filter $(addsuffix %, $(SMALL_CODESETS)), \
$(FONT_NAMES)))
# all available fonts for framebuffer
ALL_FB_FONT_NAMES := $(filter %x6 %x10 %x11 %x12 %x14 %x16 %x20 %x24 %x28 %x32 %x40 %x48 %x64, \
$(ALL_FONT_NAMES))
# all vailable fonts not for framebuffer
ALL_NONFB_FONT_NAMES := $(filter-out %x6 %x10 %x11 %x12 %x14 %x16 %x20 %x24 %x28 %x32 %x40 %x48 %x64, \
$(ALL_FONT_NAMES))
# all available fonts for FreeBSD
ALL_BSD_FONT_NAMES := $(filter-out %x6 %x10 %x11 %x12 %x14 %x16 %x20 %x24 %x28 %x32 %x40 %x48 %x64, \
$(filter $(addsuffix %, $(SMALL_CODESETS)), \
$(ALL_FONT_NAMES)))
# The following two are actually built
GZIPPED_LINUX_FONTS := $(addprefix $./, $(addsuffix .psf.gz, $(FONT_NAMES)))
UUENCODED_BSD_FONTS := $(addprefix $./, $(addsuffix .fnt, $(BSD_FONT_NAMES)))
# The following can be built
ALL_LINUX_FB_FONTS := $(addprefix $./, $(addsuffix .psf, $(ALL_FB_FONT_NAMES)))
ALL_LINUX_NONFB_FONTS := $(addprefix $./, $(addsuffix .psf, \
$(ALL_NONFB_FONT_NAMES)))
ALL_LINUX_FONTS := $(ALL_LINUX_FB_FONTS) $(ALL_LINUX_NONFB_FONTS)
ALL_BSD_FONTS := $(addprefix $./, $(addsuffix .raw, $(ALL_BSD_FONT_NAMES)))
ALL_FONTS := $(ALL_LINUX_FONTS) $(ALL_BSD_FONTS)
ALL_NONFULL_FONTS := $(filter-out $./Full%,$(ALL_FONTS))
ALL_FULL_FONTS := $(filter $./Full%,$(ALL_FONTS))
###########################################################################
$./bdf/%.bdf: /usr/share/unifont/%.hex
hex2bdf < $< > $@
doubled_bdfs := $(call adddouble, \
$(wildcard $(addprefix $./, \
bdf/legacy16?.bdf bdf/legacy14?.bdf \
bdf/u_vga16_fix.bdf bdf/u_vga16.bdf)))
doubled_bdfs : $(doubled_bdfs)
$./bdf/%-double.bdf : source = $(subst -double.bdf,.bdf,$@)
$./bdf/%-double.bdf :
bdfresize -f 2 -b 1 $(source) >$@
dejavu_bdfs := $(foreach face, $(RASTERIZED_FACES), $./bdf/$($(face)-BDFS))
$./bdf/dejavu-u%b.bdf: /usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
otf2bdf -c C -p $* -r 115 $< > $@ ; [ $$? = 8 ]
sed -i -e 's/^AVERAGE_WIDTH .*$$/AVERAGE_WIDTH $*0/' $@
$./bdf/dejavu-u%.bdf: /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
otf2bdf -c C -p $* -r 115 $< > $@ ; [ $$? = 8 ]
sed -i -e 's/^AVERAGE_WIDTH .*$$/AVERAGE_WIDTH $*0/' $@
# $(call add_bdf, xxx+yyy) = $(fntdir)/bdf/xxx+$(fntdir)/bdf/yyy
empty :=
space := $(empty) $(empty)
add_bdf = $(patsubst +%, %, \
$(subst $(space),+, \
$(addprefix $(fntdir)/bdf/,$(subst +, , $(1)))))
# i.e. ./Arabic-univga16
$(ALL_LINUX_FONTS) : basefilename = $(@:%.psf=%)
$(ALL_BSD_FONTS) : basefilename = $(@:%.raw=%)
# i.e. Arabic/univga16
$(ALL_FONTS) : codeset/face = $(subst -,/,$(strip $(patsubst Full%,%,$(notdir $(basefilename)))))
# i.e. Arabic/
$(ALL_FONTS) : codeset/ = $(dir $(codeset/face))
# i.e. Arabic
$(ALL_FONTS) : codeset = $(subst /,-,$(codeset/:%/=%))
# i.e. univga16
$(ALL_FONTS) : face = $(strip $(notdir $(codeset/face)))
# legacy hack
$(ALL_FONTS) : VGA8-BDFS = $(if $(strip $($(codeset)-legacy8-BDFS)), \
$($(codeset)-legacy8-BDFS),legacy8a.bdf)
$(ALL_FONTS) : VGA10-BDFS = $(if $(strip $($(codeset)-legacy10-BDFS)),\
$($(codeset)-legacy10-BDFS),legacy10a.bdf)
$(ALL_FONTS) : VGA12-BDFS = $(if $(strip $($(codeset)-legacy12-BDFS)),\
$($(codeset)-legacy12-BDFS),legacy12a.bdf)
$(ALL_FONTS) : VGA14-BDFS = $(if $(strip $($(codeset)-legacy14-BDFS)),\
$($(codeset)-legacy14-BDFS),legacy14a.bdf)
$(ALL_FONTS) : VGA16-BDFS = $(if $(strip $($(codeset)-legacy16-BDFS)),\
$($(codeset)-legacy16-BDFS),u_vga16.bdf)
$(ALL_FONTS) : VGA19-BDFS = $(if $(strip $($(codeset)-legacy19-BDFS)),\
$($(codeset)-legacy19-BDFS),legacy19a.bdf)
$(ALL_FONTS) : VGA28x16-BDFS = $(if $(strip $($(codeset)-legacy28x16-BDFS)),\
$($(codeset)-legacy28x16-BDFS),legacy14a-double.bdf)
$(ALL_FONTS) : VGA32x16-BDFS = $(if $(strip $($(codeset)-legacy32x16-BDFS)),\
$($(codeset)-legacy32x16-BDFS),u_vga16-double.bdf)
# i.e. ./bdf/univga16.bdf
$(ALL_FONTS) : bdfs = $(call add_bdf, $($(patsubst Full%,%,$(face))-BDFS))
# i.e. ./fontsets/Arabic.512
$(ALL_FONTS) : codesetfile = $(wildcard $(fntdir)/fontsets/$(codeset).*)
# i.e. 512
$(ALL_NONFULL_FONTS) : size = $(subst .,,$(suffix $(codesetfile)))
$(ALL_FULL_FONTS) : size = 512
$(ALL_NONFULL_FONTS) : equivalents = $(if $(findstring Uni1, $(codeset)), \
$(fntdir)/standard.equivalents+$(fntdir)/arabic.equivalents, \
$(fntdir)/standard.equivalents)
$(ALL_FULL_FONTS) : equivalents = /dev/null
$(ALL_LINUX_FONTS) : symbolsets = \
$(fntdir)/ascii.set+$(fntdir)/linux.set+$(codesetfile)+:$(fntdir)/useful.set
$(ALL_BSD_FONTS) : symbolsets = \
$(fntdir)/ascii.set+$(fntdir)/freebsd.set+$(codesetfile)+:$(fntdir)/useful.set
$(ALL_LINUX_NONFB_FONTS) : $./bdf/unifont.bdf
umask 022; $(fntdir)/bdf2psf --log $(@:%.psf=%.log) $(bdfs) $(equivalents) \
$(symbolsets) $(size) $@ $(@:%.psf=%.sfm)
$(ALL_LINUX_FB_FONTS) : $./bdf/unifont.bdf
umask 022; $(fntdir)/bdf2psf --fb --log $(@:%.psf=%.log) $(bdfs) $(equivalents) \
$(symbolsets) $(size) $@ $(@:%.psf=%.sfm)
$(ALL_BSD_FONTS) : $./bdf/unifont.bdf
umask 022; $(fntdir)/bdf2psf --raw --log $(@:%.raw=%.raw.log) $(bdfs) \
$(equivalents) $(symbolsets) $(size) $@ $(@:%.raw=%.raw.sfm)
%.fnt : %.raw
umask 022; uuencode $< $(*F) >$@
gzipped_linux_fonts : $(GZIPPED_LINUX_FONTS)
uuencoded_bsd_fonts : $(UUENCODED_BSD_FONTS)
SCRNMAPS := $(addprefix $./, $(addsuffix .scm, $(ENCODING_FONTSET)))
# i.e. ISO-8859-7_Greek
$(SCRNMAPS) : encoding_fontset = $(strip $(notdir $(@:%.scm=%)))
# i.e. ISO-8859-7/Greek
$(SCRNMAPS) : encoding/fontset = $(subst _,/,$(encoding_fontset))
# i.e. ISO-8859-7/
$(SCRNMAPS) : encoding/ = $(dir $(encoding/fontset))
# i.e. ISO-8859-7
$(SCRNMAPS) : encoding = $(encoding/:%/=%)
# i.e. Greek
$(SCRNMAPS) : fontset = $(strip $(notdir $(encoding/fontset)))
# i.e. ./Greek-Fixed13.fnt
$(SCRNMAPS) : somefont = \
$(firstword $(filter $(fntdir)/$(fontset)-%, $(UUENCODED_BSD_FONTS)))
# i.e. ./Greek-Fixed13.raw.sfm
$(SCRNMAPS) : sfm = $(somefont:%.fnt=%.raw.sfm)
$(SCRNMAPS) : $(UUENCODED_BSD_FONTS) $./freebsd.set $./fbsdmap
umask 022; $(fntdir)/fbsdmap --binaryscm $(fntdir)/freebsd.set $(sfm) \
$(fntdir)/../acm/$(encoding).acm | \
uuencode $(encoding_fontset) >$@
$./terminfo : $./fbsdmap
$(fntdir)/fbsdmap --terminfo >$@
$./termcap : $./fbsdmap
$(fntdir)/fbsdmap --termcap >$@
build-linux .PHONY : gzipped-linux-fonts
gzipped-linux-fonts : $(GZIPPED_LINUX_FONTS)
build-freebsd : uuencoded-bsd-fonts scrnmaps $./terminfo $./termcap
.PHONY : uuencoded-bsd-fonts
uuencoded-bsd-fonts : $(UUENCODED_BSD_FONTS)
.PHONY : scrnmaps
scrnmaps : $(SCRNMAPS)
clean .PHONY : $~clean
$~clean:
cd $(fntdir) && \
rm -f *~ fontsets/*~ \
*.psf *.psf.gz *.sfm *.log *.raw *.fnt *.scm \
terminfo termcap bdf/unifont.bdf $(dejavu_bdfs)
bdf .PHONY : $~bdf
$~bdf:
rm -f $(doubled_bdfs)
$(MAKE) $(doubled_bdfs)
rm -f $(fntdir)/bdf/unifont.bdf
$(MAKE) $(fntdir)/bdf/unifont.bdf
$(MAKE) $(dejavu_bdfs)
# The script 'fontcodesets' computes which codesets a font supports
maintainer-clean .PHONY : $~maintainer-clean
$~maintainer-clean : $~clean $~bdf
echo "I18N_FONT_NAMES := " $(sort $(foreach face, $(NONLEGACY_FACES), \
$(addsuffix -$(face), $(shell cd $(fntdir); ./fontcodesets $($(face)-BDFS)))) \
$(foreach face, $(LEGACY_FACES), \
$(addsuffix -$(face), $($(face)-CODESETS)))) \
>$(fntdir)/soft.Makefile
echo -n ENCODING_FONTSET := >>$(fntdir)/soft.Makefile
for a in $(fntdir)/../acm/*.acm; do aa=`basename $$a .acm`; for f in $(fntdir)/fontsets/*.256; do ff=`basename $$f .256`; echo -n ' ' $${aa}_$${ff}; done; done >>$(fntdir)/soft.Makefile
echo >>$(fntdir)/soft.Makefile
|