Archives For font

This simple tutorial shows how to fix the launching issue for TypeCatcher in Ubuntu 22.04 or other Linux with Python 3.9 & higher.

TypeCatcher is a simple GTK application to download and install Google webfonts for off-line use. The app is available to install in Ubuntu Software for all current Ubuntu releases. However, it does not launch in Ubuntu since 21.10.

TypeCatcher, download & install Google Fonts

When trying to launch it from command line, it outputs something like this:

Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/typecatcher_lib/Application.py”, line 30, in on_activate
self.window = TypeCatcherWindow.TypeCatcherWindow()
File “/usr/lib/python3/dist-packages/typecatcher_lib/Window.py”, line 47, in __new__
builder = get_builder(‘TypeCatcherWindow’)
File “/usr/lib/python3/dist-packages/typecatcher_lib/helpers.py”, line 44, in get_builder
builder.add_from_file(ui_filename)
File “/usr/lib/python3/dist-packages/typecatcher_lib/Builder.py”, line 86, in add_from_file
ele_widgets = tree.getiterator(“object”)
AttributeError: ‘ElementTree’ object has no attribute ‘getiterator’

The issue is because of the removal of getiterator() methods from xml.etree.ElementTree module in Python 3.9, which was deprecated since Python 3.2.

As the announcement indicates, simply use iter() method instead will fix the issue.

Methods getchildren() and getiterator() of classes ElementTree and Element in the ElementTree module have been removed. They were deprecated in Python 3.2. Use iter(x) or list(x) instead of x.getchildren() and x.iter() or list(x.iter()) instead of x.getiterator().

1. First, search for and open a terminal window from either start menu or ‘Activities’ overview depends on your desktop environment.

2. When terminal opens, run command to edit the file that contains the ‘getiterator()’ method (see the first screenshot). In the case, it’s “/usr/lib/python3/dist-packages/typecatcher_lib/Builder.py”.

sudo gedit /usr/lib/python3/dist-packages/typecatcher_lib/Builder.py

replace gedit to your favorite text editor, or use nano command line editor that works in most Linux.

3. When files opens, find out and replace tree.getiterator with tree.iter.

For Gedit text editor, just go to menu, click open ‘Find and Replace’ dialog. Finally, insert tree.getiterator as ‘Find’, and ‘tree.iter‘ as ‘Replace with’, then click on ‘Replace All’ button.

For nano text editor, press Alt+R when the file opens in terminal window. Then type tree.getiterator when it indicates ‘Search (to replace)’, hit Enter, and insert tree.iter when prompts ‘Replace with’. Finally, hit Enter and type y. Or, just use arrow keys to find and replace the keyword (there are 2) manually. And, press Ctrl+x, type y, and hit Enter to save changes.

After saving the file, try to launch it either from ‘Activities’ overview or command line, and enjoy!

How to install FreeType 2.7 in Ubuntu 16.04 via PPA

Last updated: September 12, 2016

FreeType

FreeType, a popular font rendering engine, has reached the 2.7 release with a new default mode for bytecode hinting: Subpixel hinting.

In case you are already using subpixel hinting (for example, by using the ‘Infinality patches’ as provided by some GNU/Linux or BSD distributions, or directly from bohoomil.com), be noted that the new mode might provide subtle differences; the code was simplified to make it much faster. If you are used to the old full-pixel hinting, you will see many rendering changes. If you really dislike them, you can disable them at compile time or using the new FREETYPE_PROPERTIES environment variable.

The new release also has improvements to its smooth rasterizer to make it about 20% faster, fixes to fuzzer, handling of raw CID fonts, and various other bug fixes and improvements. See details at FreeType.org.

Install FreeType 2.7 in Ubuntu 16.04:

The Ubuntu 16.04 build has been made into PPA, available for install/upgrade by following the steps below:

1. Open terminal (Ctrl+Alt+T) and run command to add the PPA repository:

sudo add-apt-repository ppa:no1wantdthisname/ppa

Type in your password (no visual feedback) when it asks and hit Enter.

freetype-ppa

2. To upgrade from a previous release, just launch Software Updater and you’ll see the new release available in the update list:

upgrade freetype

Or run the commands below to install or upgrade it from command line:

sudo apt update && sudo apt install libfreetype6

Undo:

Simply purge the PPA via ppa-purge will downgrade FreeType to the stock version in Ubuntu 16.04 repository:

sudo apt install ppa-purge && sudo ppa-purge ppa:no1wantdthisname/ppa

Install Font Files in Ubuntu

Want to install Microsoft fonts or Google web fonts for off-line use, or you just found a favorite font on the web and want to install it in Ubuntu?

Well here’s how to install the font files (.ttf, .ttc) downloaded from web, Google fonts page, or copied from your Windows OS.

Font files

Here are 4 font files shown in the picture above. In the steps below I’ll show you how to install and use it in Ubuntu Desktop:

1. Launch Terminal from Unity Dash, or by pressing Ctrl+Alt+T on keyboard:

ubuntu-terminal

When it opens, paste following commands and run one by one.

2. In Ubuntu Linux, font files are installed to /usr/lib/share/fonts or /usr/share/fonts. The former directory is recommended in this case for manual installation.

First create a sub folder in the font directory, ms_fonts, as example:

sudo mkdir /usr/local/share/fonts/ms_fonts

Type in your password when it asks (no visual feedback) and hit Enter.

3. Move all font files from your Downloads directory to the new created folder:

sudo mv ~/Downloads/*.ttc ~/Downloads/*.ttf /usr/local/share/fonts/ms_fonts/

4. Set permissions to these files by running the commands below one by one:

sudo chown root:staff /usr/local/share/fonts/ms_fonts -R

sudo chmod 644 /usr/local/share/fonts/ms_fonts/* -R

sudo chmod 755 /usr/local/share/fonts/ms_fonts

5. Finally builds font information caches for apps using fontconfig for their font handling:

sudo fc-cache -fv

Now you can apply new installed fonts via Unity Tweak Tool:

change-fonts

For Chrome browser, go to Settings -> Advanced settings-> Web contents -> Customize fonts.