Articles with tag “english posts” (page 1 of 1):

Now you can easily generate your own TTF versions of the Terminus font

On in “Devstuff” by Tblue3 comments
Last updated: Sat, 12 June 2021 22:08 CEST
Tags: , , ,

More than 6 months ago, I wrote about generating TTF versions of the Terminus font (and published mine on that occasion), but I didn’t actually explain how to generate them.

I found the answer to my problem (“How do I get TTF files from the Terminus BDF source files?”) in the FontForge FAQ:

  • Create a new font.
  • Import the different sizes (one BDF file per font size). Make sure to import the BDF file with the biggest bitmaps into the glyph background!
  • Select all glyphs.
  • Autotrace them.
  • Add extrema.
  • Simplify all glyphs.
  • Save as TTF.

This process requires the AutoTrace program and FontForge, obviously. While repeating these steps at least two times (for the medium and bold versions of Terminus) is not that hard, I really like to automate things. I also wanted an italic version (I accomplished that by running the BDF files through mkitalic).

Fortunately, FontForge is scriptable! This allowed me to write a script in FontForge’s own “legacy” scripting language (the build I used didn’t support Python scripts…) to perform the steps described above, a small wrapper for AutoTrace to remove the obnoxious borders it adds to the resulting Postscript “images” and a small shell script wrapper that runs mkitalic to produce italic BDF files, tells FontForge to use my AutoTrace wrapper and finally runs the FontForge script for the three different font weights (medium, bold and italic).

Since I had to do some research to obtain the above information, I thought it would be nice to allow other people to easily generate TTF versions of Terminus (mind you, I might lose interest some day!). The scripts I wrote were only tested on unixoid systems (I didn’t test whether they correctly run on Windows, e. g. using Cygwin or CoLinux; they probably do, though).

Get the scripts here: https://github.com/Tblue/mkttf/archive/master.zip.

Also check out my Git repository on GitHub.

Read the included README file for information on how to use the mkttf.sh script. Feel free to post comments (questions, constructive criticism…)!

You might want to use these scripts to generate TTF versions of other fonts than Terminus, too; since the scripts are all fairly generic, it should be sufficient to modify mkttf.sh.

Have fun!

Generating up-to-date TTF files for the Terminus font

On in “Devstuff” by Tblue7 comments
Tags: , , ,

Note

Look here for the most recent version of Terminus (TTF)!

My favourite monospaced programming font is Terminus — I use it on each of my two machines.

The downloadable tarball contains scripts to generate versions of the font which can be read e. g. by the X server or used with a Linux TTY. That works wonderfully.

My old favourite text editor (Geany) used fontconfig to manage fonts, so I didn’t have to to change anything to make Terminus work with it. But recently I switched to a more feature-rich IDE: Netbeans. Since Netbeans is a Java application, it cannot use the font files which the X server (and fontconfig) can read but instead needs TTF files.

Luckily, there is a TTF version of Terminus available on the web. It works with Java (and Netbeans, too), but that’s where my problems began: Firstly, the font seems to miss the €uro symbol and secondly, it uses slanted single quotes, which simply look ugly to me (too much like backticks). It also seems to be based on an extremely old release of the Terminus font (dated back to 2004; that wouldn’t even bother me that much if it would work flawlessly).

So what’s the solution? I figured out how to generate my own TTF version of Terminus (even with outlines!) which fixes all my problems I mentioned above. It isn’t perfect (well, the outlines aren’t), but it works. Better than nothing, right?

Since I am such a generous person (ahem), I decided to make the files available to the public. You can get them at http://files.ax86.net/terminus-ttf; please read the README.txt file for licensing information.

To make your JRE aware of the fonts, copy them to its font directory (/opt/java/jre/lib/fonts on Arch Linux).

Some closing and/or useful remarks:

  • According to commentator Infinality:

    [The fonts] must be rendered in monochrome B/W. If you render them in grayscale or subpixel they will be smeary.

    Thanks for the hint!

  • The “ge1” patch has been applied to the BDF source files.

  • Beware of the italic version: It’s extremely ugly (it has been generated automatically by mkitalic).

  • I only tested the fonts on Linux and with Sun’s JRE. That means I didn’t test how the font outlines look (as I said above, some of them are not totally equal to the bitmaps), since Java uses the embedded bitmaps (which should be fine, since I didn’t alter them).

  • Tools I used to generate the fonts: FontForge, AutoTrace.

  • For more information on how I actually generated the TTF files, read Now you can easily generate your own TTF versions of the Terminus font.

  • Happy coding!

b2evolution: Widget visibility hack (English)

On in “Devstuff” by Tblue1 comment
Tags: , , , ,

Note

The patch for b2evolution 2.4.2 can be found in the b2evolution forums.

I’m new to b2evolution and have just migrated another blog from Wordpress to b2evo. Since I’ve closed my old blog at tblue.de (I wanted to start blogging from scratch and the server was really slow, too) I decided to set up a new blog based on b2evo.

Now I’ve read this thread in the b2evo support forums. I was bored so I tried to implement the requested feature (toggle the visibility of a single widget). Of course I had to mess around with the b2evo code (no, the code is great, but I had to understand the relations etc.) but finally I managed it to write this little hack. Maybe the code I’ve written isn’t perfect, so please give me feedback… I also think the icon I used isn’t the right one (it’s the icon for enabling/disabling plugins), could someone offer me a better one? :)

Notes:

  • This hack was tested only by me so far - so don’t be surprised if something does not work as expected.
  • It was tested with b2evolution 2.4.1.
  • Legal stuff: This hack has no warranty for correct operation. I’m not responsible for any damage that can occur due to the use of this hack.

OK, here are the install instructions:

  • Make a backup of your b2evo files and the database.

  • Download the patch file (for b2evo 2.4.1) and patch your files. The patch command has to be executed in the b2evolution root directory (the directory which holds the folders inc, conf etc.). The command you would use under Linux is:

    patch -p1 < path/to/the/patch-file
    
  • Execute the following SQL command in your b2evo database (you can use a tool like PHPMyAdmin to do this):

    ALTER TABLE `evo_widget`
    ADD `wi_show` BOOL NOT NULL DEFAULT '1'
    COMMENT 'visibility hack' AFTER `wi_order`;
    
  • Try the hack and report problems! You can use the comment function of this blog to do that. ;)

Have fun.

P. S.: If my English isn’t the best I’m sorry - I’m not a native English speaker.