Opened 11 years ago

Last modified 6 years ago

#9581 new enhancement

Add Liberation Fonts to Haiku (and aliases)

Reported by: waddlesplash Owned by: stippi
Priority: normal Milestone: Unscheduled
Component: User Interface Version: R1/alpha4.1
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

Haiku right now has very few fonts. Especially when it comes to web browsing, a lot of sites want Arial, Times, and Courier New. These fonts are proprietary, but Red Hat created the Liberation fonts (https://fedorahosted.org/liberation-fonts/) which are metrically compatible with them.

However, it's not just that the fonts have to be installed. When a program requests "Times New Roman" and Times ISN'T installed (someone may install the real "Times New Roman" of their own accord) Haiku should set the font to be "Liberation Serif". The same should happen with "Arial" and "Courier New".

The font aliases shouldn't just be for Web+. GoBe Productive may open a document and request one of these fonts because the document has it.

Change History (9)

comment:1 by leavengood, 11 years ago

I think we have generally decided not to add a bunch of default fonts to Haiku. I agree with you that Haiku could use more fonts, but the approach I believe most people want to take is to make then optional packages.

Also in addition to the Liberation fonts I made a Microsoft Font Installer (http://haikuware.com/directory/view-details/system-files/fonts/microsoft-font-installer) some time ago that installs the Microsoft Core fonts for the web (http://en.wikipedia.org/wiki/Core_fonts_for_the_Web), which includes Arial and Times New Roman.

The behavior you specify (font family aliasing) might be a bit tricky to implement over the whole OS, but I could probably do it in WebPositive.

comment:2 by axeld, 11 years ago

Even if we make them optional packages, they could still be part of a standard OS install. Once we have a package manager, this will be a lot more convenient, though (ie. define a core Haiku package, and put some optional stuff on top of it by default).

About the aliasing, I'm not sure it's a good idea. I would simply rename or duplicate the liberation fonts instead (for example via a symbolic link). What use is there to have them side by side? And if you really want to, why not just name them accordingly?

in reply to:  1 comment:3 by waddlesplash, 11 years ago

Replying to leavengood:

I think we have generally decided not to add a bunch of default fonts to Haiku. I agree with you that Haiku could use more fonts, but the approach I believe most people want to take is to make then optional packages.

While I agree that Haiku does not need to ship with >25 fonts, I don't think it should ship with <10. Right now it has about 6 or so. All OSes that I know of (Windows, Linux, Mac, Android, etc.) ship with these 3 or a substitute. So I think that these are probably critical to have in the official Haiku distribution.

Replying to axeld:

What use is there to have them side by side? And if you really want to, why not just name them accordingly?

Symbolic link sounds fine to me. Don't just name them as they are - these aren't Times or Arial. They are metrically compatible but not the fonts themselves.

comment:4 by mmadia, 11 years ago

Priority: highnormal

comment:5 by pulkomandy, 9 years ago

The haikuports recipe for this is currently broken. Waiting for an update of it so we can upload a package with the fonts. We could have a separate package with the aliases for compatibility if that's needed.

comment:6 by pulkomandy, 9 years ago

Milestone: R1Unscheduled

comment:7 by mrnhmath, 6 years ago

Should this be tackled for beta1? It's one of the most apparent issues of Web+

comment:8 by pulkomandy, 6 years ago

It seems there is a "liberation_fonts" package available now. So all that's left to do is including it in the release image, and possibly adding the aliases as mentionned above.

comment:9 by waddlesplash, 6 years ago

TTF fonts can't be aliased via symlink, we will need to do this at the app_server level.

Note: See TracTickets for help on using tickets.