Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Development

Reply
 
Thread Tools Display Modes
Old September 25, 2018, 14:13   #1
shirish
Rookie
 
Join Date: Aug 2018
Posts: 22
shirish is on a distinguished road
why does angband still use .fon files ?

I was looking at -
Code:
~/games/angband-master/lib/fonts$ ls
10x14xb.fon  12x18x.fon  16x24x.fon  6x12x.fon   7x13xb.fon  8x12x.fon  8x8xb.fon   9x15x.fon
10x14x.fon   12x24x.fon  5x8x.fon    6x13xb.fon  7x13x.fon   8x13x.fon  8x8x.fon    Makefile
10x20x.fon   16x16x.fon  6x10x.fon   6x13x.fon   8x12xb.fon  8x16x.fon  9x15xb.fon
I remembered that font files used to be a thing during windows 3.11. Looking up on the web, for sure they are windows era fonts https://fileinfo.com/extension/fon

There are so many foss fonts nowadays . Just to ideate there are 514 packages (font number will be higher in Debian) .

See -

Code:
$ aptitude search fonts | wc -l
514
It would be nice if we can move from .fon to either .ttf or .otf or .off fonts depending upon people's tastes.

https://en.wikipedia.org/wiki/TrueType
https://en.wikipedia.org/wiki/OpenType#Open_Font_Format
https://en.wikipedia.org/wiki/OpenType

They also will work better on mobiles and SBC's if it were deployed as most platforms have support for all three font formats shared.
shirish is offline   Reply With Quote
Old September 25, 2018, 14:39   #2
takkaria
Veteran
 
takkaria's Avatar
 
Join Date: Apr 2007
Posts: 1,859
Donated: $40
takkaria is on a distinguished road
The answer to a lot of questions like "why does Angband still do X?" is because no-one made it not do that yet. Plus, I think most of the Angband maintainers have enjoyed hacking on the game and weren't/aren't particularly interested in learning how to write e.g. a new Windows frontend, or learning how to use SDL. The platform-specific bits of Angband are for sure the least modified and least loved bits of the game. Pending people who like frontend work showing up and doing some stuff, the frontends mostly stay unmodified for years at a time.

EDIT: Also, Angband is very different on different platforms. Windows and SDL use the .fon files, but Mac doesn't, and neither does the X11 port, or curses.
__________________
"Physician, heal thyself."
takkaria is offline   Reply With Quote
Old September 25, 2018, 18:50   #3
shirish
Rookie
 
Join Date: Aug 2018
Posts: 22
shirish is on a distinguished road
Quote:
Originally Posted by takkaria View Post
The answer to a lot of questions like "why does Angband still do X?" is because no-one made it not do that yet. Plus, I think most of the Angband maintainers have enjoyed hacking on the game and weren't/aren't particularly interested in learning how to write e.g. a new Windows frontend, or learning how to use SDL. The platform-specific bits of Angband are for sure the least modified and least loved bits of the game. Pending people who like frontend work showing up and doing some stuff, the frontends mostly stay unmodified for years at a time.

EDIT: Also, Angband is very different on different platforms. Windows and SDL use the .fon files, but Mac doesn't, and neither does the X11 port, or curses.
hmm... @takkaria, while I can understand that, I do see the following in the debian angband package


Code:
angband-data: /usr/share/angband/xtra/font/10x14x.fon
angband-data: /usr/share/angband/xtra/font/10x14xb.fon
angband-data: /usr/share/angband/xtra/font/10x20x.fon
angband-data: /usr/share/angband/xtra/font/12x18x.fon
angband-data: /usr/share/angband/xtra/font/12x24x.fon
angband-data: /usr/share/angband/xtra/font/16x16x.fon
angband-data: /usr/share/angband/xtra/font/16x24x.fon
angband-data: /usr/share/angband/xtra/font/5x8x.fon
angband-data: /usr/share/angband/xtra/font/6x10x.fon
angband-data: /usr/share/angband/xtra/font/6x12x.fon
angband-data: /usr/share/angband/xtra/font/6x13x.fon
angband-data: /usr/share/angband/xtra/font/6x13xb.fon
angband-data: /usr/share/angband/xtra/font/7x13x.fon
angband-data: /usr/share/angband/xtra/font/7x13xb.fon
angband-data: /usr/share/angband/xtra/font/8x12x.fon
angband-data: /usr/share/angband/xtra/font/8x12xb.fon
angband-data: /usr/share/angband/xtra/font/8x13x.fon
angband-data: /usr/share/angband/xtra/font/8x16x.fon
angband-data: /usr/share/angband/xtra/font/8x8x.fon
angband-data: /usr/share/angband/xtra/font/8x8xb.fon
angband-data: /usr/share/angband/xtra/font/9x15x.fon
angband-data: /usr/share/angband/xtra/font/9x15xb.fon
Could anybody share what are the different fonts that are used or just one font with different sizes ?

If it's the latter, we could simply use one or more fonts to make the game look attractive without much cost.

I have 806 fonts when I have not installed all the font packages in Debian archive -

Code:
$ fc-list | wc -l
806
There is also fonts.debian.net (no longer available) but available through archive.org which could help us in getting a good replacement.

Unicode fonts could be another idea perhaps https://en.wikipedia.org/wiki/Unicode_font

One idea could perhaps be to use the popular noto font which is used quite a bit.

https://web.archive.org/web/20160303...ts.debian.net/
shirish is offline   Reply With Quote
Old September 25, 2018, 18:53   #4
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 8,504
Derakon is on a distinguished road
Quote:
Originally Posted by shirish View Post
hmm... @takkaria, while I can understand that, I do see the following in the debian angband package
The simplest explanation for this is that the Linux build still includes resources that it does not actually use.
Derakon is offline   Reply With Quote
Old September 26, 2018, 01:31   #5
takkaria
Veteran
 
takkaria's Avatar
 
Join Date: Apr 2007
Posts: 1,859
Donated: $40
takkaria is on a distinguished road
Quote:
Originally Posted by shirish View Post
hmm... @takkaria, while I can understand that, I do see the following in the debian angband package
They're used by the SDL port, I think.

Quote:
Could anybody share what are the different fonts that are used or just one font with different sizes ?
They are all different fonts, and the user chooses which ones they want for which window in the SDL and Windows ports. Personally I find the bitmap fonts more legible for text mode than outline/vector fonts but YMMV.
__________________
"Physician, heal thyself."
takkaria is offline   Reply With Quote
Old September 26, 2018, 01:53   #6
Pete Mack
Prophet
 
Join Date: Apr 2007
Location: Seattle, WA
Posts: 4,989
Donated: $40
Pete Mack is on a distinguished road
Takkaria--i agree bitmaps were better choices with low resolution screens. But those are few and far between these days. Spline-fit fonts are a much better choice now.
Pete Mack is offline   Reply With Quote
Old September 26, 2018, 04:49   #7
t4nk
Swordsman
 
Join Date: May 2016
Posts: 306
t4nk is on a distinguished road
.fon files are really just tilesets. IMO, it would be easier to use bmp or png file with glyphs + text file with coordinates (exactly like tiles in lib/tiles).
In fact, for my project, I've written a tool that makes such tilesets out of vector font files If someone wants it, I can send it to you (the tool is written in D, so you'll also need a D compiler from https://dlang.org/).
t4nk is offline   Reply With Quote
Old September 26, 2018, 12:01   #8
Pete Mack
Prophet
 
Join Date: Apr 2007
Location: Seattle, WA
Posts: 4,989
Donated: $40
Pete Mack is on a distinguished road
t4nk-
It turns out to be a performance penalty to use tiles instead of glyphs. You can see the difference when running and sometimes on redraws.
Pete Mack is offline   Reply With Quote
Old September 26, 2018, 14:45   #9
t4nk
Swordsman
 
Join Date: May 2016
Posts: 306
t4nk is on a distinguished road
Quote:
Originally Posted by Pete Mack View Post
t4nk-
It turns out to be a performance penalty to use tiles instead of glyphs.
Do you have any proof of that? Glyphs, as displayed on monitors, are pictures. If they are pictures to begin with (like in .fon files), they're tilesets. If they're something else (say, Bezier curves, like in .ttf files), then transorming them into pictures (rasterizing) requires additional work*.

Quote:
You can see the difference when running and sometimes on redraws.
I can, except in the opposite direction: the difference is that pre-rasterizing glyphs of vector fonts and making an in-memory tileset improves performance noticeably (e.g., main-sdl2.c:make_font_cache()).

* which is, btw, not trivial and can involve such things are running bytecode on a virtual machine (part of so-called "hinting")...
t4nk is offline   Reply With Quote
Old September 26, 2018, 16:10   #10
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 8,504
Derakon is on a distinguished road
It can be surprisingly difficult to render a large grid of anything without getting performance penalties. I discovered that when writing the Pyrel UI. The naive approach (just tell your GUI widget library to render a text symbol for every tile in view on every update) is horrifically slow. Getting clever about remembering which portions of the screen have changed and only rerendering those helps, but then scrolling the view is also horrifically slow (because every single tile "changes"). So then you start saying "well, the scrolled view re-uses a lot of tiles from the previous view, so I'll keep the previous view around, redraw it at an offset, and then draw the new/updated tiles on top of that" and you have fairly complex drawing logic that's still really not all that fast.

As for tilesets vs. software-rendered fonts, I can absolutely believe that it's faster to blit a texture to a tile than it is to draw an "@". After all, drawing the "@" involves first converting the vectors to a raster image and then...converting that raster to a texture and blitting it. A pre-rendered tileset of the kind t4nk describes is super common in gaming. You can load the entire tileset into your GPU's memory and then just send a payload to the GPU saying "render this tile here, render that tile there", and it can draw the entire screen without having to go back to the CPU for more information.
Derakon is offline   Reply With Quote
Reply

Tags
fonts


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Spoiler Files? Will94 Vanilla 4 December 2, 2013 23:13
RST help files fph Development 13 September 6, 2011 21:08
Pref files relic Vanilla 11 August 9, 2011 21:40
Restoring 6x9.fon - help needed Magnate Vanilla 7 May 22, 2009 09:33
Z+Angband export(decode) .raw files? PaulBlay Variants 2 February 7, 2009 01:06


All times are GMT +1. The time now is 21:22.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.