Showing posts with label fonts. Show all posts
Showing posts with label fonts. Show all posts

Sunday, June 27, 2010

Chortle 0.24 released

Now that I have a little bit of a breather after releasing Deadwood 2.6.03 (we’re getting pretty close to having Deadwood 2.9.01 with full recursive DNS support), I am wrapping up a couple of little projects I put on the back burner while working on 2.6.03.

One project was backporting the memory leak fix to the 2.5 branch of Deadwood, which I did this morning. My next little project has been to make a monospace version of the Chortle font; this isn't a true monospace font; all I have done is run a script that squashes the wide letters and centers the narrow letters so they are all the same width.

In addition, I have removed the Bold Italic version of Chortle. In all honesty, Chortle has a regular weight, a bold weight, and an italic version, as well as the monospace version; it doesn’t need a bold + italic weight.

Chortle 0.24 can be downloaded here:

http://samiam.org/fonts/Chortle/

Saturday, February 21, 2009

MaraDNS snapshot update; Deadwood/MaraDNS todo

I have made a new snapshot release of MaraDNS that updates Deadwood (with files also in the maradns/ tree removed) to Deadwood-2.04.

This is my TODO list for MaraDNS and Deadwood:
  • Look over the SQA regression tests Deadwood comes with; I need to overhaul these tests and make sure they're still relevant and can be used to help test Deadwood.
  • Look at Milan Kupcevic's patch that adds dns_port support to zoneserver
  • Update deadwood-1 (in MaraDNS) to use deadwood-2's buffering in DwTcp

I'm now only using the Chortle font in Windows (and when editing documents in AbiWord); Linux's autohinting when a font has no hints is a lot more primitive than Microsoft ClearType so I'm using Verdana and Bitstream Vera for most everything in Linux.

One of these days I might release a Chortle 2.04 with a "ClearType" version where only "p" is autohinted. I wish I knew more about Truetype hinting, since I would like to be able to set up Chortle's hinting so the X-height is a little bigger at small point sizes. To be honest, I really don't have the time to learn to become enough of a font designer to make Chortle a general-purpose screen and printing font.

Friday, February 20, 2009

Deadwood 2.04 released; MaraDNS snapshot update; Chortle font update

I have released Deadwood 2.04 today. This incorporates a number of improvments since the Deadwood 2.03 release from a month ago:
  • The "Google problem" has been fixed; when there is a chain of CNAME answers leading to an A answer, Deadwood uses the TTL for the CNAME or A answer with the lowest TTL to determine how long to cache the DNS reply
  • Cache size is now determined from one's dwood2rc preferences, not from the file storing the cache.
  • Logging revamped; raw printf statements mostly removed and verbose_level support added.
  • DwTcp now has basic TCP buffering and works.
  • Warnings when compiling in Ubuntu 8.10 with -Wall enabled removed
It can be downloaded by clicking on this link
William Summers provided me with a patch to compile MaraDNS under OpenBSD last week; I finally integrated this patch in to the "HEAD branch" of MaraDNS and it can be seen in a snapshot I uploaded yesterday.

Milan Kupcevic has posted a patch to implement reading the dns_port variable in the zoneserver program, which I will look at next week sometime.
Well, never say never.

I am starting work on the Chortle font again. Basically, in Cleartype, the "p" looks a little weird in the Chortle font. I have added autohinted information to just the "p" letter and the font looks nicer when rendered with Microsoft ClearType at small sizes. Unfortunately, autohinting all of the letters makes the X-height inconsistent, so I might, one of these days, manually fix the hinting so Chortle looks nicer at small sizes on Linux systems (the hinting isn't as important when one is using ClearType).

My work here can be seen by clicking on this link

Thursday, February 19, 2009

On Deadwood's send() implementation; PayPaI looks like PayPal in some fonts

In a perfect world, DwTcp would properly handle the case of send() sending less information down the TCP pipe than we requested it to send. Yes, if I was trying to make this program perfect, I would engineer for this.

I'm not going to.

Two reasons:
  1. DwTcp's stated purpose is to be a basic program that handles the occasional DNS-over-TCP packet. This program wasn't working for over a year and I didn't even notice.
  2. For me to add code that handles partial send()s, I will need to implement a testing suite that can simulate partial send()s (probably by having a wrapper for the raw send() function that can be optionally compiled to only send some of the data we want to send
Now, should the lack of partial support for send() ever become an issue, I will need to have scripts to allow us to test, in a consistent manner, partial send()s, since this type of code, if incorrectly written, can cause subtle errors that will be very difficult to track down.

The current situation of having a loud, obnoxious message telling the user there's an issue with partial send()s is the best way to handle it; this immediately lets them know what's going on. I would rather do it like this than have untested code in DwTcp.

I plan on releasing a DwTcp 2.04 tomorrow with the post-2.03 fixes (Google problem fixed; coding style revision to remove potential infinite loops; cache size bug; DwTcp works again) once I use Deadwood 20090218 for a day to make sure everything works.
Some fonts, notably Arial and Bitstream Vera sans, have a security problem: The PayPaI security problem. With some fonts, "PayPaI" looks like "PayPal"; this is not only aesthetically ugly, it makes the font harder to read and raises security issues.

One time, I was working with a student and reading something on my computer screen using the Bitstream Vera font when she had a hard time something reading something because she thought a "L" (lower case) was an "i" (upper case). I switched the font to a copy of Verdana I had on the computer (a free download) and we continued to read the article.

Other issues with some typefaces: 0 looks like O; l looks like 1 (or I); 5 looks like S

The one change I made to the vector form of Chortle (besides remapping characters and changing vertical spacing) back in 2007 is making the 1 not look like an l.

Wednesday, February 18, 2009

Deadwood update: DNS-over-TCP now works

I have released an update to Deadwood today that implements simple TCP buffering; this is a simple TCP buffer that allows data to be forwarded over TCP. The buffer only allows data to be sent one direction to be buffered; the data is buffered until it is possible to send the data.

While there is data in the TCP buffer, the Deadwood TCP client does not accept any further data on that particular connection until the buffered data is sent and flushed.

The TCP connection in question has the actual buffered data and the socket (incoming or outgoing, basically) and length for the buffer stored. When the buffered data is sent, the buffer is cleared.

While there is buffered data, the program repeatedly does a send() system call to send the data until it succeeds. There is no delay; the send is sent to the kernel as quickly as possible over and over until it succeeds; I wonder if the loop that processes the TCP data should have a 1-ms delay or what not to not hammer the kernel with send() calls while there is buffered data to be sent.

The TCP buffering does not support partial send()s; the data either is sent or not sent. In other words, if send() tries to send 40 bytes of data, and only 20 bytes are sent, the program puts a warning on the standard output that partial sends of data are not supported.

This may be an issue for complicated TCP packets, but seems to work fine for basic DNS-over TCP packets.

In addition, the code doesn't check the output of memcpy when making the buffer.

This code can be downloaded at this link.

Since I last tried using Chortle as a screen font, anti-aliasing and auto-hinting have greatly improved. I have download a package from Microsoft to enable ClearType hinting on Windows XP, and use aggressive hinting in Ubuntu.

With modern sub-pixel anti-aliasing, Chortle is remarkably readable on the screen and I'll use it, as much as possible, as my primary screen font until the end of February, to see if I can break my inability to look at anything besides Verdana for extended periods of time on the screen. I don't like the idea of my eyes and computer screen being bound to a proprietary font (albeit one that is a free download).

Tuesday, February 17, 2009

Chortle 0.23 released: Final Chortle release

Back in 2007 or so, I wanted to make a 100% free font that looked good both on the screen and when printed out. I decided to take Charis SIL, which is itself derived from a version of Bitstream Charter given to the X consortium under very generous licensing terms back in 1992, removed glyphs I wouldn't use (this font only supports Western European languages with some limited IPA support), made the spacing more reasonable (Charis has this really wide vertical spacing), and did some work on bitmap renderings of the font that I finally gave up on, realizing it would never be as readable on the screen as Verdana.

Bitstream Charter, Chortle's ancestor, is a font made my Matthew Carter, who later on became famous for his legendary Verdana, Tahoma, and Georgia fonts that are part of Microsoft Windows. Like Verdana (my favorite screen font; indeed the only proportional font I can stand looking at on the screen), this is a very beautiful and readable font. Unlike Verdana, the font doesn't have good hinting for the screen.

Chortle is a very nice font for writing text to be printed out; it has had problems with looking decent on the screen, which I have resolved by removing all hinting from the glyphs today (Fontforge's auto-hinting is so bad it's best completely removed). It's now readable in Windows XP and looks nice in Windows Vista (clear type really makes fonts look a lot better on the screen)

This will be my final release of Chortle; I did most of my work on Chortle back in 2007, and haven't touched this font for over a year. It's a nice font, and it completely free (both as in free beer and as in free speech).

It can be downloaded at samiam.org/Chortle

Wednesday, April 2, 2008

ObHack and Solstice updates

I have updated Solstice; not only have a refined the bitmap rendering of the font, I have also improved the metrics of the italic version of the Solstice font. The metrics aren't perfect--getting perfect metrics is impossible without resorting to kerning--but they look better than they did before.

My update can be downloaded here



I have also updated ObHack. Tiny and small levels now have more goodies to pick up; small levels also sometimes have both a key "quest" (find the key; open the door) and a switch "quest". Before, tiny and small levels always had one item to pick up, and small levels always had precisely one switch or key quest. Now tiny levels can have one or two items (but no switch/key quests); small levels can have up to three items.

The ObHack levels generated are not any bigger; I have tweaked things so that the tiny and small levels now have fewer "cells" (places about the size of a room) without any items or keys/switches. I have also reduced the number of non-item cells in medium sized maps a little.

It can be downloaded here



The MaraDNS support email is piling up. I haven't answered MaraDNS email for over a week. I apologize for the delay getting back to people.

Wednesday, March 26, 2008

Solstice font update

I have been quietly uploading updates to Solstice this week; the main work has been finishing all of the accents and other non-ASCII characters at all seven sizes. I have finally finished that work. Also, the other day I updated the 16-bit size of Solstice so that it's easier to read, as you can see here:



Here, from top to bottom, you can see the 10-pixel, 12-pixel, 14-pixel, and 16-pixel sizes of the bitmap Solstice font. I feel the 12-bit version needs some work; it has too many serifs, which makes the font hard to read a lot of content with for extended periods.

I have also updated the vector fonts; I have made the version number 0.2 in all faces except the mono face (I'm not going to touch the mono face until all of the proportional faces are done), and fixed a bug where the italic face had a significantly larger ascent (was a taller font) than the other typefaces.

It can be downloaded here



I have one (possibly more; I haven't checked the inbox for samiam.org for a couple of days) pending MaraDNS support email to answer.

Wednesday, March 19, 2008

Solstice font and MaraDNS update

I have just uploaded an update to the Solstice font here.

There are two or three unresolved MaraDNS issues; I apologize for the delay; I've been busy with work and haven't had a chance to look at Mara for a while now.

Tuesday, March 18, 2008

Solstice font update

I have updated the Solstice font; the rendering of the basic Latin letters in the "roman" form of the font is essentially done at this point:



Today's snapshot can be downloaded here

Monday, March 17, 2008

One font to rule them all

I have started a new Font, called "Solstice". This is my second attempt to make "one font to rule them all". In other words, I want to have a font that is good enough to be used as the only font on a small "embedded" Linux system. This is useful for mini-Linux distributions, for running Linux on older computers, and for having a single general-purpose font suitable for on-screen reading, editing files, and printing.

In 2007, I attempted to make a screen-readable version of the Bitstream Charter font. This project was, looking back, unsuccessful. Bitstream Charter is a font for laser printers; it is not a screen font. In particular, making it legible below "14" in size is nay-to-impossible.

I finally threw in the towel; my mini-linux system that needs a good screen font uses a bitmap conversion of "Verdana" I call "Vorpal". While this is legal in the USA, the legal status in some other countries is still up in the air.

This time, instead of trying to make a font optimized for 300dpi printers screen readable, I'm making a mostly-libre font designed for the screen one that looks good using old-school non-anti-aliased font rendering technology. The goal is to have a font that looks good on the screen, when printed, and, ideally, can be used as both a monospaced and a porportional font.

I am basing this font off of DejaVu Serif, which in turn is derived from Bitstream Vera Serif. The license is not as good as the OFL; in particular, I have some concerns about embedding a font with this license in PDF files. The license states "The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces." Since the preposition "in" instead of "with" is used here, there is some ambiguity about whether, when making a PDF file embedding this font, one merely has to include the license in the PDF file (this is fairly easily done), or whether the license has to be in the part of the PDF file containing the font information (which is more difficult to do).

Right now, I have taken the font, and had Fontforge make bitmap renderings of the font at various small sizes. I am now, by hand, making those low-resolution renderings as readable as I can at various resolutions. Since Bitstream Vera is a screen font, this is easier to do than it was with Bitstream Charter.

I am doing this with Vera Serif instead of Vera Sans because:
  1. Vera Serif is about as readible on the screen as Vera Sans.
  2. Vera Serif is easier to read when printed out.
Here are my current plans:
  1. Make bitmap renderings of Serif Roman at 8,9,10,11,12,14,16 pixel sizes (current work)
  2. From the Verily project, make a monospace version of Vera Serif that is both a screen and a printing project. This will only be rendered at 12 pixel size on the screen (and will replace misc fixed when done)
  3. Make an oblique version of Vera Serif that only uses the "a" and "f" glyphs from "DejaVu Serif Italic"; I feel the quality of "DejaVu Serif Italic" doesn't have the same quality as "Vera Serif"; so my oblique version will just mostly be a slanted version of V.S.
  4. Make bitmap renderings of Serif Italic at 10,11,12,14,16 pixel sizes.
  5. Make bitmap renderings of Serif Bold at 10,11,12,14,16 pixel sizes.
This font will only exist in Roman, Bold, and Italic forms, and only in Roman form at smaller screen resolutions.

My work on this project can be downloaded here. In particular, unlike my Charter-derived font, this font is, even without full hinting, about as readable as Verdana on the screen. This is even true in Windows XP (Vista is nice because just about any font looks decent on the screen; older systems like XP need fonts made for the screen).




This project is part of my project to update MOAM-CD. I plan on holding on to MOAM-CD 20080217 for a while; it is "good enough" for the amount of time I actually need to use MOAM-CD these days (almost never; I lug my laptop around with me, which seems to be helping develop my muscles, making me more attractive with the latinas). The main change I did was to make as much room for music as possible, since the most common use for MOAM-CD is to put it in my roomate's stereo and listen to music I relax to.

There are bugs to be fixed in MOAM-CD, but nothing I can't work around. For example, RXVT seg faults and dies when trying to use aspell in terminal mode; the workaround is aspell -a < file | grep '^&'

Friday, November 16, 2007

MaraDNS, ObHack, and font updates

I have updates for not one, not two, but three different projects of mine today.



My MaraDNS update has one change to the mainline code: l.root-servers.net IP has been updated. I am also working on the hash-generation code again for the "Deadwood-2" code, which will become a simple non-recursive caching DNS server. This is available here.



ObHack, my hacks to the excellent OBLIGE Doom random map generator, has a very minor update: Single player maps now have deathmatch starts. I added this feature since the small levels are small enough to be playable as 1-on-1 deathmatch maps with Heretic, and as 3-way or 4-way Doom/Doom2 deathmatch maps (all of those Doom fabs give players more little hidey holes). Also, Heretic (but only Heretic, alas) single player maps now have a couple of coop starts. In addition, I now have a Linux tarball, in addition to the Windows zipfile and a source tarball.

ObHack 002a (I'm not giving this a new number since the maps are identical to 002 maps, with only deathmatch and coop starts added) is available as a Windows zipfile here, as a Linux binary tarball here, and as a source code tarball here. An example megawad for Heretic is available here



I have made a minor update to my "Sandals" font, an attempt to make a readable screen font. This font can be downloaded here. I also have a version of this font that includes the bitmap version of a famous font made by a major software company here (I'm using an American server owned by an American since, while American law clearly states you can't copyright the bitmap version of a font, European laws are not clear on this matter).

- Sam

Monday, July 16, 2007

I like Microsoft's clear type technology

Just a quick note that I'm quite impressed with Microsoft's clear type technology. I once posted a list of three fonts that I could do all of my computation with. Well, I can make the list now only have two fonts: Chortle, my modification to Claris SIL, which is, in turn, a modified Bitstream Charter. This font is remarkably readable on the screen using Clear Type, and has an elegance that Verdana (far more readable if one does not have a clear type rendering) do not have. I also need a fixed-width font to add to this list; maybe the monospace liberation font from RedHat.

The only problem with the Clear Type rendering is that the upper case letters sometimes jump up or down one pixel, probably because of the lack of hinting information in the font.

I will post a sample of how Chortle looks with Clear type rendering soon.

- Sam

Sunday, July 15, 2007

Why it is good you can not copyright fonts



    You know, I sometimes see postings talking about how it would be a really great idea to copyright typeface designs. This idea seems to be a meme amoung typeface designers. However, copyrighting fonts in the litigation-friendly environment of America, is a really bad idea.

    Why? Because, if it were possible to copyright bitmap fonts, there will suddenly pop up a large number of "intelectual property" companies that will come with with every way of rendering a circle at low bitmap resolutions, with various levels of roundness, and then put a copyright on each and every one of those circles as being "the letter O". These trolls will then threaten to sue anyone with a bitmap font that has an "o" that looks like one of their circles. It will very quickly become impossible to design a typeface without using a letter owned by some font-copyright troll. There are only so many ways you can represent an "o", "c", or even an "s" at low screen resolutions.

    This is why most countries do not allow the shapes of letters to be copyrighted. There is just too much room for abuse otherwise, especially in an over-abused legal system like the US' legal system. And, yes, for vector fonts, Adobe Systems, Inc. v. Southern Software, Inc. makes it so that you can't just rip off somone's vector font and sell it as your own. This is more than enough copyright protection for fonts.

    Friday, June 22, 2007

    Some samples of my bitmap font




      Here are some samples of my bitmap font, Sandals:











      As you can see, the font is quite pleasant to read on the screen; I have no problem use this font to read text on a screen for hours at a time. The italic text is not as pretty as the roman and bold faces, but is perfectly readable, and I have better things to do with my time than perfect the font. It's good enough for me. :)

      Anyway, Sandals can be downloaded here (Click on the link at the top).

      - Sam

      Thursday, June 14, 2007

      Sandals font update



        I have done a lot of work on Sandals last night and this morning. The big change is that I have increased the vertical spacing in the font; it is too cramped, which makes it harder to read otherwise. I have also done some touchup of the bold face and italic face, and fixed some minor inconsistancies in the bdf files that made them not completely usable under X.

        All I need to do now is finish up the touchup with the italic faces, then I will make a formal release of these fonts. Updated snapshot here:

        Sandals-font-20070614.tar.bz2


        - Sam

        Tuesday, June 12, 2007

        New MaraDNS snapshot; Sandals font update



          I have release a new MaraDNS snapshot today. This snapshot hopefully solves the lingering RFC 1034 compliance issues with star records. I will post a more complete description of the patch on the MaraDNS mailing list. It is here:
          http://www.maradns.org/download/1.3/snap/200706/



          Last night, I wrote a gawk (not AWK, since it uses strtonum()) script that automatically makes boldface and italic versions of bdf fonts. It makes a bold font by taking the font, making each glyph one character wider, then or-ing each glyph with a version of the glyph shift one bit to the right. This works quite well. The italic script shifts the glyph one bit to the right above a user-specified height; the best height to do this shift depends on the font and the size of the font.

          I was able to make an attractive version of the italic face, and an attractive bold face with this fairly simple script. A snapshot, along with an updated italic face, is here:
          http://www.samiam.org/moof/Sandals-font-20070612.tar.bz2
          http://www.samiam.org/moof/Sandals-italic.sfd

          Monday, June 11, 2007

          Sandals font update




            I found out this weekend that the 15 and 17 pixel sizes of Sandals had their accents broken, possibly by a Fontforge bug. Hence, I have an update for this bitmap-only font available:

            Sandals-font-20070610.tar.bz2


            This package also includes my first try at making an italic version of this font. It doesn't look that great and needs to be revised, but at least it's a start.

            - Sam

            Monday, June 4, 2007

            MOAM-CD and Sandals font updated



              I worked this weekend on the MOAM-CD project. I have finished the roman (non-bold, non-italic) version of the Sandals typeface at three different sizes: 12 point, 14 point, and 16 point. All three sizes are very readable, and allow me to have an attractive readable screen font on the MOAM-CD without having to abuse the non-copyrightable status of fonts in the US.

              Here is a copy of the fonts: http://www.samiam.org/moof/Sandals-font-20070603.tar.gz

              I have also made an improvment to FVWM, where it can (somewhat) work around problems of laggy servers that don't always do "focus follows mouse". The hack is that there is code to make sure a window gets focus when it is automatically raised.

              In addition, a compressed cloop filesystem (as opposed to cramfs) is made when making the CD image. I have updated the initrd to use cloop instead of cramfs. I have not had a chance to test this yet, because DeLi doesn't have mkisofs. So I have gotten the mkisofs code and will set up MOAM to compile mkisofs so the CD image can be made.

              The compressed image, with Firefox, Freecell, and the X.org drivers, but without the C development environment, is only about 28 megs in size. When I added C compiling to the old CentOS 3-based Live CD, the image became about 15 megs bigger. Since DeLi is leaner, and doesn't use glibc, I think it will be leaner. I am guessing a Business card CD image with C compiling support will be about 40 megs in size; enough extra space for extensive customizing.

              Anyway, I also need to get aumix, or another simple program to adjust /dev/mixer, to work in this system.

              Here is a copy of the current code that will soon be able to make a live CD:

              http://www.samiam.org/moof/moam-cd-20070603.tar.bz2 (13 meg tarfile)

              Saturday, June 2, 2007

              Font update



                I am continuing work on my bitmap typeface. I have finished the typeface at 17 pixel size, and am now working on the 15 pixel version of the typeface. All ASCII and most IPA (Well, the IPA symbols that I will support in this font) symbols are done at 15 pixel size. The only thing I have to do are the accented letters. Then I will work on the 13 pixel size typeface. Once that is done, I will make "Cheap and dirty" bold and italic typefaces by having a program make the leters thicker, and using Fontforge with the DejaVu script to italicize the font.

                I, alas, have no sample to show you guys. I should have things ready by Monday. I hope.