SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
A Closer Look at 
Fonts and Font Rendering System 
on openSUSE 
Fuminobu TAKEYAMA 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 1/30
About Me 
● TAKEYAMA, Fuminobu (武山 文信) 
– @ftake, Facebook: takeyamaf, G+: +FuminobuTakeyama 
– openSUSE M17N project maintainer 
● Multilinguarization 
– One of admins of http://ja.opensuse.org/ 
● Talk about community activities 
in Japan tomorrow 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 2/30
Do you use a Linux desktop environment? 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 3/30
Font and font rendering are 
● Important for Desktop environments 
● Sometimes troublesome for Chinese and Japanese users 
– Because of the letters with complex structures 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 4/30
What is a font? 
● Defines actual shapes of letters 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 5/30
Rendering letters with a font 
● Draw letters on pixels 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 6/30
New CJK fonts by Adobe and Google 
● Noto Sans Chinese/Japanese/Korean (Google) 
Source Han Sans (Adobe) 
● 7 weight variations 
● Support new rendering engine provided by Adobe 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 7/30
New CJK fonts by Adobe and Google 
to be available on openSUSE 13.2! 
though still problematic for GUI 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 8/30
Software for font rendering 
● FreeType2 
– A library for rendering letters 
● fontconfig 
– System for 
● Searching fonts from your system 
● Specifying rendering parameters for FreeType2 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 9/30
Querying fonts with fontconfig 1/2 
● command line interfaces: fc-match, fc-scan, ... 
● Query by a family name and attributes 
$ fc-match "Noto Sans Japanese" 
NotoSansJP-Medium.otf: "Noto Sans Japanese" "Medium" 
actual file name weight 
$ fc-match "Noto Sans Japanese":weight=Bold 
NotoSansJP-Bold.otf: "Noto Sans Japanese" "Bold" 
The actual file providing the bold font 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 10/30
Querying fonts with fontconfig 2/2 
● Some fonts are just aliases 
– The actual font is determined by the locale, your settings, ... 
$ fc-match "Monospace" 
migu-1m-regular.ttf: "Migu 1M" "Regular" 
Monospace is an alias of Migu 1M (on my env.) 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 11/30
Another role of fontconfig 
● Specifies rendering parameters for each font 
– Anti-aliasing 
– Hinting 
– Sub-pixel rendering 
● Defined by files 
– /etc/fonts/* 
– ~/.config/fontconfig/* 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 12/30
Hinting 
● Moves lines to fit pixels 
– Makes letters look clear 
With hinting Without hinting 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 13/30
Hinting parameters for FreeType2 
● Hinting engines 
– FreeType's auto hinter 
– Byte code interpreter for fonts with hinting instructions 
– “Adobe” for CFF fonts (including Noto Sans C/J/K) 
● Hintstyle 
– None: just disable hinting 
– Slight: render with the auto hinter (slight mode) 
– Medium, Full: BCI or Adobe if available 
● otherwise auto hinter (normal mode) 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 14/30
Inappropriate hintstyle 1/2 
● Hinting is sometimes problematic 
● “_” is not printed 
disappear 
With hintnone 
With hintmedium 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 15/30
Inappropriate hintstyle 2/2 
● Breaks some monospaced fonts 
Deskto”p” 
Publi”c” 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 16/30
Which is the best hintstyle? 
● Different for each font 
You should use packaged fonts! 
– openSUSE's font packages set appropriate values 
for problematic fonts 
– See: /etc/fonts/conf.d/* 
● [10-19]-*.conf: openSUSE default option 
● [20-29]-*.conf: rendering options for each font 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 17/30
The Kcontrol bug 1/3 
● Bug 105797 - Changing fonts from Kcontrol will enable 
hinting and make it default. All this information it 
writes to ~/.fonts.conf 
● Reported on 
– 2005-05-17 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 18/30
The Kcontrol bug 2/3 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 19/30
The Kcontrol bug 3/3 
Breaks some fonts 
● Automatically saves settings enforcing hintmedium 
for all fonts 
– Please remove ~/.config/fontconfig/* generated by this 
● Resolved in 13.2 
– By “System default” 
<?xml version='1.0'?> 
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> 
<fontconfig> 
… snip … 
<match target="font"> 
<edit mode="assign" name="hintstyle"> 
<const>hintmedium</const> 
</edit> 
</match> 
… snip … 
</fontconfig> 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 20/30
Not only KDE 
● Exists on XFCE 
– Also on GNOME 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 21/30
Trouble shooting 
● Check your rendering configuration by fc-match -v 
– The actual font name, hinting settings 
$ fc-match -v Sans 
Pattern has 36 elts (size 48) 
family: "IPA Pゴシック"(s) "IPAPGothic"(s) 
familylang: "ja"(s) "en"(s) 
** snip ** 
antialias: True(w) 
hintstyle: 2(i)(w) 
hinting: True(w) 
verticallayout: False(s) 
** snip ** 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 22/30
Infinality patch 
● Unofficial patch improving FreeType2 
● Has been merged into FreeType2 
– fontconfig settings from infinality is to be included by 
openSUSE 13.2 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 23/30
Sub-pixel rendering on openSUSE 
● Improve resolution by using RGB sub-pixel of LCD 
● Disabled 
– Because color filter algorithm is still patented 
● Need discussion 
– if FreeType's color filter is really 
covered by the patent or not 
Sub-pixel rendering by Windows ClearType 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 24/30
Development of font packages 
● M17N:fonts on Open Build Service 
– https://build.opensuse.org/project/show/M17N:fonts 
– ML: opensuse-m17n@opensuse.org 
● Everyone can join the development 
● Easy to develop 
1. Branch a package from M17N:fonts 
2. Just update zip/tar.gz and write change log 
3. Build and test 
4. Submit your change to M17N:fonts 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 25/30
A font catalog 
● http://fontinfo.opensuse.org/ By Petr Gajdos 
1 click install 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 26/30
Ongoing issues 
● Multi-weight font support 
– Fontconifg cannot query correctly 
$ fc-match "Noto Sans Japanese":weight=Regular 
NotoSansJP-DemiLight.otf: "Noto Sans Japanese" "DemiLight" 
– Gtk also 
● The Adobe engine is disabled on some applications 
● Sub-pixel rendering 
– Hinting engines seem to require it 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 27/30
Conclusion 
● FreeType2 and fontconfig 
– fc-match -v for trouble shooting and bug reports 
● Hinting 
– Provides clear rendering or causes problems 
● Need your help 
– Addressing ongoing issues 
– Packaging fonts with appropriate configurations 
● Any questions? 
2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 28/30

Más contenido relacionado

La actualidad más candente

Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...Kernel TLV
 
WebAssembly: In a Nutshell
WebAssembly: In a NutshellWebAssembly: In a Nutshell
WebAssembly: In a NutshellRangHo Lee
 
Linux Tor Browser kurulum
Linux Tor Browser kurulumLinux Tor Browser kurulum
Linux Tor Browser kurulumreso95
 
A Look at Command Line Swift
A Look at Command Line SwiftA Look at Command Line Swift
A Look at Command Line SwiftJoshuaKaplan22
 
Autotools pratical training
Autotools pratical trainingAutotools pratical training
Autotools pratical trainingThierry Gayet
 
Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021Jian-Hong Pan
 
Linux Locking Mechanisms
Linux Locking MechanismsLinux Locking Mechanisms
Linux Locking MechanismsKernel TLV
 
Useful linux-commands
Useful linux-commandsUseful linux-commands
Useful linux-commandsHimani Singh
 
Part 03 File System Implementation in Linux
Part 03 File System Implementation in LinuxPart 03 File System Implementation in Linux
Part 03 File System Implementation in LinuxTushar B Kute
 
Advanced Namespaces and cgroups
Advanced Namespaces and cgroupsAdvanced Namespaces and cgroups
Advanced Namespaces and cgroupsKernel TLV
 
Data Structures used in Linux kernel
Data Structures used in Linux kernel Data Structures used in Linux kernel
Data Structures used in Linux kernel assinha
 
BOSH deploys distributed systems, and Diego runs any containers
BOSH deploys distributed systems, and Diego runs any containersBOSH deploys distributed systems, and Diego runs any containers
BOSH deploys distributed systems, and Diego runs any containersBenjamin Gandon
 
Pulp 3 - Simpler, Better, More awesome
Pulp 3 - Simpler, Better, More awesomePulp 3 - Simpler, Better, More awesome
Pulp 3 - Simpler, Better, More awesomeDennis Kliban
 
Parallel computing in bioinformatics t.seemann - balti bioinformatics - wed...
Parallel computing in bioinformatics   t.seemann - balti bioinformatics - wed...Parallel computing in bioinformatics   t.seemann - balti bioinformatics - wed...
Parallel computing in bioinformatics t.seemann - balti bioinformatics - wed...Torsten Seemann
 
Chapter 2
Chapter 2Chapter 2
Chapter 2lopjuan
 
Rust system programming language
Rust system programming languageRust system programming language
Rust system programming languagerobin_sy
 

La actualidad más candente (19)

Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
 
WebAssembly: In a Nutshell
WebAssembly: In a NutshellWebAssembly: In a Nutshell
WebAssembly: In a Nutshell
 
Linux Tor Browser kurulum
Linux Tor Browser kurulumLinux Tor Browser kurulum
Linux Tor Browser kurulum
 
A Look at Command Line Swift
A Look at Command Line SwiftA Look at Command Line Swift
A Look at Command Line Swift
 
Autotools pratical training
Autotools pratical trainingAutotools pratical training
Autotools pratical training
 
Cheatsheet: Metasploit
Cheatsheet: MetasploitCheatsheet: Metasploit
Cheatsheet: Metasploit
 
Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021
 
Linux Locking Mechanisms
Linux Locking MechanismsLinux Locking Mechanisms
Linux Locking Mechanisms
 
Useful linux-commands
Useful linux-commandsUseful linux-commands
Useful linux-commands
 
Part 03 File System Implementation in Linux
Part 03 File System Implementation in LinuxPart 03 File System Implementation in Linux
Part 03 File System Implementation in Linux
 
First steps on CentOs7
First steps on CentOs7First steps on CentOs7
First steps on CentOs7
 
Advanced Namespaces and cgroups
Advanced Namespaces and cgroupsAdvanced Namespaces and cgroups
Advanced Namespaces and cgroups
 
Data Structures used in Linux kernel
Data Structures used in Linux kernel Data Structures used in Linux kernel
Data Structures used in Linux kernel
 
BOSH deploys distributed systems, and Diego runs any containers
BOSH deploys distributed systems, and Diego runs any containersBOSH deploys distributed systems, and Diego runs any containers
BOSH deploys distributed systems, and Diego runs any containers
 
Pulp 3 - Simpler, Better, More awesome
Pulp 3 - Simpler, Better, More awesomePulp 3 - Simpler, Better, More awesome
Pulp 3 - Simpler, Better, More awesome
 
Vi Editor
Vi EditorVi Editor
Vi Editor
 
Parallel computing in bioinformatics t.seemann - balti bioinformatics - wed...
Parallel computing in bioinformatics   t.seemann - balti bioinformatics - wed...Parallel computing in bioinformatics   t.seemann - balti bioinformatics - wed...
Parallel computing in bioinformatics t.seemann - balti bioinformatics - wed...
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Rust system programming language
Rust system programming languageRust system programming language
Rust system programming language
 

Destacado

Proposal of openSUSE.Asia Summit 2017
Proposal of openSUSE.Asia Summit 2017Proposal of openSUSE.Asia Summit 2017
Proposal of openSUSE.Asia Summit 2017Fuminobu Takeyama
 
openSUSE Leap 42.1 とは?
openSUSE Leap 42.1 とは?openSUSE Leap 42.1 とは?
openSUSE Leap 42.1 とは?Fuminobu Takeyama
 
ディストロユーザ会と地域ユーザグループの素敵な関係
ディストロユーザ会と地域ユーザグループの素敵な関係ディストロユーザ会と地域ユーザグループの素敵な関係
ディストロユーザ会と地域ユーザグループの素敵な関係Kentaro Hatori
 
ダイソーでWiMAX用 パラボラアンテナ 作ってみた
ダイソーでWiMAX用 パラボラアンテナ 作ってみたダイソーでWiMAX用 パラボラアンテナ 作ってみた
ダイソーでWiMAX用 パラボラアンテナ 作ってみたKentaro Hatori
 
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定Fuminobu Takeyama
 
Getting Started on Packaging Apps with Open Build Service
Getting Started on Packaging Apps with Open Build ServiceGetting Started on Packaging Apps with Open Build Service
Getting Started on Packaging Apps with Open Build ServiceAndi Sugandi
 
SCAP for openSUSE
SCAP for openSUSESCAP for openSUSE
SCAP for openSUSEKazuki Omo
 
How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS
 How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS
How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOSKentaro Hatori
 
バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?
バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?
バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?Fuminobu Takeyama
 
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)今さら聞けない― Linuxコマンドラインツールテクニック (導入編)
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)Fuminobu Takeyama
 
How to Contribute to FOSS
How to Contribute to FOSSHow to Contribute to FOSS
How to Contribute to FOSSprinceofgiri
 
20161106 osc-tokyo-lt-asia-summit
20161106 osc-tokyo-lt-asia-summit20161106 osc-tokyo-lt-asia-summit
20161106 osc-tokyo-lt-asia-summitFuminobu Takeyama
 
20161106 osc-tokyo-command-line
20161106 osc-tokyo-command-line20161106 osc-tokyo-command-line
20161106 osc-tokyo-command-lineFuminobu Takeyama
 
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2Fuminobu Takeyama
 
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3Fuminobu Takeyama
 
Open Build Service 道場―パッケージの新規作成編
Open Build Service 道場―パッケージの新規作成編Open Build Service 道場―パッケージの新規作成編
Open Build Service 道場―パッケージの新規作成編Fuminobu Takeyama
 
FlashAirの組み込み機器応用事例@OSC2014 Tokyo/Spring
FlashAirの組み込み機器応用事例@OSC2014 Tokyo/SpringFlashAirの組み込み機器応用事例@OSC2014 Tokyo/Spring
FlashAirの組み込み機器応用事例@OSC2014 Tokyo/SpringFlashAirデベロッパーズ
 
[Maker Faire Tokyo 2014] FlashAirは超ミニマイコン! ひろがる電子工作コミュニティ
[Maker Faire Tokyo 2014] FlashAirは超ミニマイコン!ひろがる電子工作コミュニティ[Maker Faire Tokyo 2014] FlashAirは超ミニマイコン!ひろがる電子工作コミュニティ
[Maker Faire Tokyo 2014] FlashAirは超ミニマイコン! ひろがる電子工作コミュニティFlashAirデベロッパーズ
 
SDカードで無線LチカFlashAirは超ミニマイコンアイデアコンテストも実施中
SDカードで無線LチカFlashAirは超ミニマイコンアイデアコンテストも実施中SDカードで無線LチカFlashAirは超ミニマイコンアイデアコンテストも実施中
SDカードで無線LチカFlashAirは超ミニマイコンアイデアコンテストも実施中FlashAirデベロッパーズ
 

Destacado (20)

Proposal of openSUSE.Asia Summit 2017
Proposal of openSUSE.Asia Summit 2017Proposal of openSUSE.Asia Summit 2017
Proposal of openSUSE.Asia Summit 2017
 
openSUSE Leap 42.1 とは?
openSUSE Leap 42.1 とは?openSUSE Leap 42.1 とは?
openSUSE Leap 42.1 とは?
 
ディストロユーザ会と地域ユーザグループの素敵な関係
ディストロユーザ会と地域ユーザグループの素敵な関係ディストロユーザ会と地域ユーザグループの素敵な関係
ディストロユーザ会と地域ユーザグループの素敵な関係
 
ダイソーでWiMAX用 パラボラアンテナ 作ってみた
ダイソーでWiMAX用 パラボラアンテナ 作ってみたダイソーでWiMAX用 パラボラアンテナ 作ってみた
ダイソーでWiMAX用 パラボラアンテナ 作ってみた
 
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
 
Getting Started on Packaging Apps with Open Build Service
Getting Started on Packaging Apps with Open Build ServiceGetting Started on Packaging Apps with Open Build Service
Getting Started on Packaging Apps with Open Build Service
 
SCAP for openSUSE
SCAP for openSUSESCAP for openSUSE
SCAP for openSUSE
 
How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS
 How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS
How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS
 
バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?
バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?
バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?
 
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)今さら聞けない― Linuxコマンドラインツールテクニック (導入編)
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)
 
How to Contribute to FOSS
How to Contribute to FOSSHow to Contribute to FOSS
How to Contribute to FOSS
 
20161106 osc-tokyo-lt-asia-summit
20161106 osc-tokyo-lt-asia-summit20161106 osc-tokyo-lt-asia-summit
20161106 osc-tokyo-lt-asia-summit
 
20161106 osc-tokyo-command-line
20161106 osc-tokyo-command-line20161106 osc-tokyo-command-line
20161106 osc-tokyo-command-line
 
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
 
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
 
CS 354 Typography
CS 354 TypographyCS 354 Typography
CS 354 Typography
 
Open Build Service 道場―パッケージの新規作成編
Open Build Service 道場―パッケージの新規作成編Open Build Service 道場―パッケージの新規作成編
Open Build Service 道場―パッケージの新規作成編
 
FlashAirの組み込み機器応用事例@OSC2014 Tokyo/Spring
FlashAirの組み込み機器応用事例@OSC2014 Tokyo/SpringFlashAirの組み込み機器応用事例@OSC2014 Tokyo/Spring
FlashAirの組み込み機器応用事例@OSC2014 Tokyo/Spring
 
[Maker Faire Tokyo 2014] FlashAirは超ミニマイコン! ひろがる電子工作コミュニティ
[Maker Faire Tokyo 2014] FlashAirは超ミニマイコン!ひろがる電子工作コミュニティ[Maker Faire Tokyo 2014] FlashAirは超ミニマイコン!ひろがる電子工作コミュニティ
[Maker Faire Tokyo 2014] FlashAirは超ミニマイコン! ひろがる電子工作コミュニティ
 
SDカードで無線LチカFlashAirは超ミニマイコンアイデアコンテストも実施中
SDカードで無線LチカFlashAirは超ミニマイコンアイデアコンテストも実施中SDカードで無線LチカFlashAirは超ミニマイコンアイデアコンテストも実施中
SDカードで無線LチカFlashAirは超ミニマイコンアイデアコンテストも実施中
 

Similar a A Closer Look at Fonts and Font Rendering System on openSUSE

Elem of design unit 7 module 2 investigation of fonts
Elem of design unit 7 module 2 investigation of fontsElem of design unit 7 module 2 investigation of fonts
Elem of design unit 7 module 2 investigation of fontskateridrex
 
Unit i (part2) b.sc
Unit i (part2)   b.scUnit i (part2)   b.sc
Unit i (part2) b.scHepsijeba
 
(OLF 2017) Lumina Rising: Challenging Desktop Orthodoxy
(OLF 2017) Lumina Rising: Challenging Desktop Orthodoxy(OLF 2017) Lumina Rising: Challenging Desktop Orthodoxy
(OLF 2017) Lumina Rising: Challenging Desktop OrthodoxyKen Moore
 
Lumina: A Fresh Approach to Desktops
Lumina: A Fresh Approach to DesktopsLumina: A Fresh Approach to Desktops
Lumina: A Fresh Approach to DesktopsKen Moore
 
Font file formats: TrueType (TTF), PostScript y OpenType (OTF)
Font file formats: TrueType (TTF), PostScript y OpenType (OTF)Font file formats: TrueType (TTF), PostScript y OpenType (OTF)
Font file formats: TrueType (TTF), PostScript y OpenType (OTF)David Fimia Zapata
 
[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in actionMickael Istria
 
Webcast Presentation
Webcast PresentationWebcast Presentation
Webcast PresentationCOLINA
 
F fmpeg on ubuntu 21.04 linux
F fmpeg on ubuntu 21.04 linuxF fmpeg on ubuntu 21.04 linux
F fmpeg on ubuntu 21.04 linuxLinuxConcept
 
2014 - Lumina DE Overview
2014 - Lumina DE Overview2014 - Lumina DE Overview
2014 - Lumina DE OverviewKen Moore
 
compiler construction tool in computer science .
compiler construction tool in computer science .compiler construction tool in computer science .
compiler construction tool in computer science .RanitHalder
 
SynPhony2014
SynPhony2014SynPhony2014
SynPhony2014langtech
 
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama..super...
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama..super...Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama..super...
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama..super...Mustafa AL-Timemmie
 
Myanmar fonts & unicode
Myanmar fonts & unicodeMyanmar fonts & unicode
Myanmar fonts & unicodeNgwe Tun
 
Software evolution analysis of ubuntu operating system
Software evolution analysis of ubuntu operating systemSoftware evolution analysis of ubuntu operating system
Software evolution analysis of ubuntu operating systemArpita Naik
 
Thomas Phinney, “Fonts. Everything is Changing. Again.”
Thomas Phinney, “Fonts. Everything is Changing. Again.”Thomas Phinney, “Fonts. Everything is Changing. Again.”
Thomas Phinney, “Fonts. Everything is Changing. Again.”WebVisions
 
EntwicklerCamp 2014 - Domino Designer : Tips, Tricks and Enhancements for Max...
EntwicklerCamp 2014 - Domino Designer : Tips, Tricks and Enhancements for Max...EntwicklerCamp 2014 - Domino Designer : Tips, Tricks and Enhancements for Max...
EntwicklerCamp 2014 - Domino Designer : Tips, Tricks and Enhancements for Max...marjoramg
 
Python_Session
Python_SessionPython_Session
Python_Sessionsiva ram
 
The Ring programming language version 1.4.1 book - Part 2 of 31
The Ring programming language version 1.4.1 book - Part 2 of 31The Ring programming language version 1.4.1 book - Part 2 of 31
The Ring programming language version 1.4.1 book - Part 2 of 31Mahmoud Samir Fayed
 

Similar a A Closer Look at Fonts and Font Rendering System on openSUSE (20)

Elem of design unit 7 module 2 investigation of fonts
Elem of design unit 7 module 2 investigation of fontsElem of design unit 7 module 2 investigation of fonts
Elem of design unit 7 module 2 investigation of fonts
 
Language enabling
Language enablingLanguage enabling
Language enabling
 
Unit i (part2) b.sc
Unit i (part2)   b.scUnit i (part2)   b.sc
Unit i (part2) b.sc
 
(OLF 2017) Lumina Rising: Challenging Desktop Orthodoxy
(OLF 2017) Lumina Rising: Challenging Desktop Orthodoxy(OLF 2017) Lumina Rising: Challenging Desktop Orthodoxy
(OLF 2017) Lumina Rising: Challenging Desktop Orthodoxy
 
Lumina: A Fresh Approach to Desktops
Lumina: A Fresh Approach to DesktopsLumina: A Fresh Approach to Desktops
Lumina: A Fresh Approach to Desktops
 
Font file formats: TrueType (TTF), PostScript y OpenType (OTF)
Font file formats: TrueType (TTF), PostScript y OpenType (OTF)Font file formats: TrueType (TTF), PostScript y OpenType (OTF)
Font file formats: TrueType (TTF), PostScript y OpenType (OTF)
 
[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action
 
Webcast Presentation
Webcast PresentationWebcast Presentation
Webcast Presentation
 
Німецька 7
Німецька 7Німецька 7
Німецька 7
 
F fmpeg on ubuntu 21.04 linux
F fmpeg on ubuntu 21.04 linuxF fmpeg on ubuntu 21.04 linux
F fmpeg on ubuntu 21.04 linux
 
2014 - Lumina DE Overview
2014 - Lumina DE Overview2014 - Lumina DE Overview
2014 - Lumina DE Overview
 
compiler construction tool in computer science .
compiler construction tool in computer science .compiler construction tool in computer science .
compiler construction tool in computer science .
 
SynPhony2014
SynPhony2014SynPhony2014
SynPhony2014
 
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama..super...
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama..super...Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama..super...
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama..super...
 
Myanmar fonts & unicode
Myanmar fonts & unicodeMyanmar fonts & unicode
Myanmar fonts & unicode
 
Software evolution analysis of ubuntu operating system
Software evolution analysis of ubuntu operating systemSoftware evolution analysis of ubuntu operating system
Software evolution analysis of ubuntu operating system
 
Thomas Phinney, “Fonts. Everything is Changing. Again.”
Thomas Phinney, “Fonts. Everything is Changing. Again.”Thomas Phinney, “Fonts. Everything is Changing. Again.”
Thomas Phinney, “Fonts. Everything is Changing. Again.”
 
EntwicklerCamp 2014 - Domino Designer : Tips, Tricks and Enhancements for Max...
EntwicklerCamp 2014 - Domino Designer : Tips, Tricks and Enhancements for Max...EntwicklerCamp 2014 - Domino Designer : Tips, Tricks and Enhancements for Max...
EntwicklerCamp 2014 - Domino Designer : Tips, Tricks and Enhancements for Max...
 
Python_Session
Python_SessionPython_Session
Python_Session
 
The Ring programming language version 1.4.1 book - Part 2 of 31
The Ring programming language version 1.4.1 book - Part 2 of 31The Ring programming language version 1.4.1 book - Part 2 of 31
The Ring programming language version 1.4.1 book - Part 2 of 31
 

Más de Fuminobu Takeyama

Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバー
Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバーBtrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバー
Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバーFuminobu Takeyama
 
Geeko Magazine: A Technical Magazine on openSUSE, edited on openSUSE―openSUSE...
Geeko Magazine: A Technical Magazine on openSUSE, edited on openSUSE―openSUSE...Geeko Magazine: A Technical Magazine on openSUSE, edited on openSUSE―openSUSE...
Geeko Magazine: A Technical Magazine on openSUSE, edited on openSUSE―openSUSE...Fuminobu Takeyama
 
SUSE Studio Express を使ってみた
SUSE Studio Express を使ってみたSUSE Studio Express を使ってみた
SUSE Studio Express を使ってみたFuminobu Takeyama
 
Geeko Magazine: A Technical Magazine on openSUSE, editied on openSUSE
Geeko Magazine: A Technical Magazine on openSUSE, editied on openSUSEGeeko Magazine: A Technical Magazine on openSUSE, editied on openSUSE
Geeko Magazine: A Technical Magazine on openSUSE, editied on openSUSEFuminobu Takeyama
 
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
最近良く聞く Kubernetes を体験してみた イントロ + 活用編最近良く聞く Kubernetes を体験してみた イントロ + 活用編
最近良く聞く Kubernetes を体験してみた イントロ + 活用編Fuminobu Takeyama
 
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSERuby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSEFuminobu Takeyama
 
ここが違う! OSC Tokyo と台湾の COSCUP
ここが違う! OSC Tokyo と台湾の COSCUPここが違う! OSC Tokyo と台湾の COSCUP
ここが違う! OSC Tokyo と台湾の COSCUPFuminobu Takeyama
 
トランザクショナルアップデート ― Btrfsを活用したパッケージ更新方法
トランザクショナルアップデート ― Btrfsを活用したパッケージ更新方法トランザクショナルアップデート ― Btrfsを活用したパッケージ更新方法
トランザクショナルアップデート ― Btrfsを活用したパッケージ更新方法Fuminobu Takeyama
 
What is necessary for the next input method framework?
What is necessary for the next input method framework?What is necessary for the next input method framework?
What is necessary for the next input method framework?Fuminobu Takeyama
 
Leap の初のメジャーアップデート! openSUSE Leap 15.0 リリース
Leap の初のメジャーアップデート! openSUSE Leap 15.0 リリースLeap の初のメジャーアップデート! openSUSE Leap 15.0 リリース
Leap の初のメジャーアップデート! openSUSE Leap 15.0 リリースFuminobu Takeyama
 
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)Fuminobu Takeyama
 
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―Fuminobu Takeyama
 
Welcome to openSUSE.Asia Summit 2017
Welcome to openSUSE.Asia Summit 2017Welcome to openSUSE.Asia Summit 2017
Welcome to openSUSE.Asia Summit 2017Fuminobu Takeyama
 
告知LT最終回! openSUSE.Asia Summit 2017 注目セッションのご紹介
告知LT最終回! openSUSE.Asia Summit 2017 注目セッションのご紹介告知LT最終回! openSUSE.Asia Summit 2017 注目セッションのご紹介
告知LT最終回! openSUSE.Asia Summit 2017 注目セッションのご紹介Fuminobu Takeyama
 
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4Fuminobu Takeyama
 
【openSUSEの最新動向のみ】Solrで日本語全文検索システムの構築と応用
【openSUSEの最新動向のみ】Solrで日本語全文検索システムの構築と応用【openSUSEの最新動向のみ】Solrで日本語全文検索システムの構築と応用
【openSUSEの最新動向のみ】Solrで日本語全文検索システムの構築と応用Fuminobu Takeyama
 
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整えるサーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整えるFuminobu Takeyama
 
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみるLTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみるFuminobu Takeyama
 
Redesigning Input-Method Launcher and Management System
Redesigning Input-Method Launcher and Management SystemRedesigning Input-Method Launcher and Management System
Redesigning Input-Method Launcher and Management SystemFuminobu Takeyama
 
YaST を使って Linux をらくらく設定―Btrfs を活用したファイルサーバー構築 & OS インストールの自動化
YaST を使って Linux をらくらく設定―Btrfs を活用したファイルサーバー構築 & OS インストールの自動化YaST を使って Linux をらくらく設定―Btrfs を活用したファイルサーバー構築 & OS インストールの自動化
YaST を使って Linux をらくらく設定―Btrfs を活用したファイルサーバー構築 & OS インストールの自動化Fuminobu Takeyama
 

Más de Fuminobu Takeyama (20)

Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバー
Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバーBtrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバー
Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバー
 
Geeko Magazine: A Technical Magazine on openSUSE, edited on openSUSE―openSUSE...
Geeko Magazine: A Technical Magazine on openSUSE, edited on openSUSE―openSUSE...Geeko Magazine: A Technical Magazine on openSUSE, edited on openSUSE―openSUSE...
Geeko Magazine: A Technical Magazine on openSUSE, edited on openSUSE―openSUSE...
 
SUSE Studio Express を使ってみた
SUSE Studio Express を使ってみたSUSE Studio Express を使ってみた
SUSE Studio Express を使ってみた
 
Geeko Magazine: A Technical Magazine on openSUSE, editied on openSUSE
Geeko Magazine: A Technical Magazine on openSUSE, editied on openSUSEGeeko Magazine: A Technical Magazine on openSUSE, editied on openSUSE
Geeko Magazine: A Technical Magazine on openSUSE, editied on openSUSE
 
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
最近良く聞く Kubernetes を体験してみた イントロ + 活用編最近良く聞く Kubernetes を体験してみた イントロ + 活用編
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
 
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSERuby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
 
ここが違う! OSC Tokyo と台湾の COSCUP
ここが違う! OSC Tokyo と台湾の COSCUPここが違う! OSC Tokyo と台湾の COSCUP
ここが違う! OSC Tokyo と台湾の COSCUP
 
トランザクショナルアップデート ― Btrfsを活用したパッケージ更新方法
トランザクショナルアップデート ― Btrfsを活用したパッケージ更新方法トランザクショナルアップデート ― Btrfsを活用したパッケージ更新方法
トランザクショナルアップデート ― Btrfsを活用したパッケージ更新方法
 
What is necessary for the next input method framework?
What is necessary for the next input method framework?What is necessary for the next input method framework?
What is necessary for the next input method framework?
 
Leap の初のメジャーアップデート! openSUSE Leap 15.0 リリース
Leap の初のメジャーアップデート! openSUSE Leap 15.0 リリースLeap の初のメジャーアップデート! openSUSE Leap 15.0 リリース
Leap の初のメジャーアップデート! openSUSE Leap 15.0 リリース
 
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)
 
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―
 
Welcome to openSUSE.Asia Summit 2017
Welcome to openSUSE.Asia Summit 2017Welcome to openSUSE.Asia Summit 2017
Welcome to openSUSE.Asia Summit 2017
 
告知LT最終回! openSUSE.Asia Summit 2017 注目セッションのご紹介
告知LT最終回! openSUSE.Asia Summit 2017 注目セッションのご紹介告知LT最終回! openSUSE.Asia Summit 2017 注目セッションのご紹介
告知LT最終回! openSUSE.Asia Summit 2017 注目セッションのご紹介
 
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4
 
【openSUSEの最新動向のみ】Solrで日本語全文検索システムの構築と応用
【openSUSEの最新動向のみ】Solrで日本語全文検索システムの構築と応用【openSUSEの最新動向のみ】Solrで日本語全文検索システムの構築と応用
【openSUSEの最新動向のみ】Solrで日本語全文検索システムの構築と応用
 
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整えるサーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
 
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみるLTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
 
Redesigning Input-Method Launcher and Management System
Redesigning Input-Method Launcher and Management SystemRedesigning Input-Method Launcher and Management System
Redesigning Input-Method Launcher and Management System
 
YaST を使って Linux をらくらく設定―Btrfs を活用したファイルサーバー構築 & OS インストールの自動化
YaST を使って Linux をらくらく設定―Btrfs を活用したファイルサーバー構築 & OS インストールの自動化YaST を使って Linux をらくらく設定―Btrfs を活用したファイルサーバー構築 & OS インストールの自動化
YaST を使って Linux をらくらく設定―Btrfs を活用したファイルサーバー構築 & OS インストールの自動化
 

Último

Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleanscorenetworkseo
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxBipin Adhikari
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 

Último (20)

Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleans
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptx
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 

A Closer Look at Fonts and Font Rendering System on openSUSE

  • 1. A Closer Look at Fonts and Font Rendering System on openSUSE Fuminobu TAKEYAMA 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 1/30
  • 2. About Me ● TAKEYAMA, Fuminobu (武山 文信) – @ftake, Facebook: takeyamaf, G+: +FuminobuTakeyama – openSUSE M17N project maintainer ● Multilinguarization – One of admins of http://ja.opensuse.org/ ● Talk about community activities in Japan tomorrow 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 2/30
  • 3. Do you use a Linux desktop environment? 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 3/30
  • 4. Font and font rendering are ● Important for Desktop environments ● Sometimes troublesome for Chinese and Japanese users – Because of the letters with complex structures 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 4/30
  • 5. What is a font? ● Defines actual shapes of letters 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 5/30
  • 6. Rendering letters with a font ● Draw letters on pixels 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 6/30
  • 7. New CJK fonts by Adobe and Google ● Noto Sans Chinese/Japanese/Korean (Google) Source Han Sans (Adobe) ● 7 weight variations ● Support new rendering engine provided by Adobe 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 7/30
  • 8. New CJK fonts by Adobe and Google to be available on openSUSE 13.2! though still problematic for GUI 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 8/30
  • 9. Software for font rendering ● FreeType2 – A library for rendering letters ● fontconfig – System for ● Searching fonts from your system ● Specifying rendering parameters for FreeType2 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 9/30
  • 10. Querying fonts with fontconfig 1/2 ● command line interfaces: fc-match, fc-scan, ... ● Query by a family name and attributes $ fc-match "Noto Sans Japanese" NotoSansJP-Medium.otf: "Noto Sans Japanese" "Medium" actual file name weight $ fc-match "Noto Sans Japanese":weight=Bold NotoSansJP-Bold.otf: "Noto Sans Japanese" "Bold" The actual file providing the bold font 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 10/30
  • 11. Querying fonts with fontconfig 2/2 ● Some fonts are just aliases – The actual font is determined by the locale, your settings, ... $ fc-match "Monospace" migu-1m-regular.ttf: "Migu 1M" "Regular" Monospace is an alias of Migu 1M (on my env.) 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 11/30
  • 12. Another role of fontconfig ● Specifies rendering parameters for each font – Anti-aliasing – Hinting – Sub-pixel rendering ● Defined by files – /etc/fonts/* – ~/.config/fontconfig/* 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 12/30
  • 13. Hinting ● Moves lines to fit pixels – Makes letters look clear With hinting Without hinting 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 13/30
  • 14. Hinting parameters for FreeType2 ● Hinting engines – FreeType's auto hinter – Byte code interpreter for fonts with hinting instructions – “Adobe” for CFF fonts (including Noto Sans C/J/K) ● Hintstyle – None: just disable hinting – Slight: render with the auto hinter (slight mode) – Medium, Full: BCI or Adobe if available ● otherwise auto hinter (normal mode) 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 14/30
  • 15. Inappropriate hintstyle 1/2 ● Hinting is sometimes problematic ● “_” is not printed disappear With hintnone With hintmedium 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 15/30
  • 16. Inappropriate hintstyle 2/2 ● Breaks some monospaced fonts Deskto”p” Publi”c” 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 16/30
  • 17. Which is the best hintstyle? ● Different for each font You should use packaged fonts! – openSUSE's font packages set appropriate values for problematic fonts – See: /etc/fonts/conf.d/* ● [10-19]-*.conf: openSUSE default option ● [20-29]-*.conf: rendering options for each font 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 17/30
  • 18. The Kcontrol bug 1/3 ● Bug 105797 - Changing fonts from Kcontrol will enable hinting and make it default. All this information it writes to ~/.fonts.conf ● Reported on – 2005-05-17 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 18/30
  • 19. The Kcontrol bug 2/3 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 19/30
  • 20. The Kcontrol bug 3/3 Breaks some fonts ● Automatically saves settings enforcing hintmedium for all fonts – Please remove ~/.config/fontconfig/* generated by this ● Resolved in 13.2 – By “System default” <?xml version='1.0'?> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <fontconfig> … snip … <match target="font"> <edit mode="assign" name="hintstyle"> <const>hintmedium</const> </edit> </match> … snip … </fontconfig> 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 20/30
  • 21. Not only KDE ● Exists on XFCE – Also on GNOME 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 21/30
  • 22. Trouble shooting ● Check your rendering configuration by fc-match -v – The actual font name, hinting settings $ fc-match -v Sans Pattern has 36 elts (size 48) family: "IPA Pゴシック"(s) "IPAPGothic"(s) familylang: "ja"(s) "en"(s) ** snip ** antialias: True(w) hintstyle: 2(i)(w) hinting: True(w) verticallayout: False(s) ** snip ** 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 22/30
  • 23. Infinality patch ● Unofficial patch improving FreeType2 ● Has been merged into FreeType2 – fontconfig settings from infinality is to be included by openSUSE 13.2 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 23/30
  • 24. Sub-pixel rendering on openSUSE ● Improve resolution by using RGB sub-pixel of LCD ● Disabled – Because color filter algorithm is still patented ● Need discussion – if FreeType's color filter is really covered by the patent or not Sub-pixel rendering by Windows ClearType 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 24/30
  • 25. Development of font packages ● M17N:fonts on Open Build Service – https://build.opensuse.org/project/show/M17N:fonts – ML: opensuse-m17n@opensuse.org ● Everyone can join the development ● Easy to develop 1. Branch a package from M17N:fonts 2. Just update zip/tar.gz and write change log 3. Build and test 4. Submit your change to M17N:fonts 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 25/30
  • 26. A font catalog ● http://fontinfo.opensuse.org/ By Petr Gajdos 1 click install 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 26/30
  • 27. Ongoing issues ● Multi-weight font support – Fontconifg cannot query correctly $ fc-match "Noto Sans Japanese":weight=Regular NotoSansJP-DemiLight.otf: "Noto Sans Japanese" "DemiLight" – Gtk also ● The Adobe engine is disabled on some applications ● Sub-pixel rendering – Hinting engines seem to require it 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 27/30
  • 28. Conclusion ● FreeType2 and fontconfig – fc-match -v for trouble shooting and bug reports ● Hinting – Provides clear rendering or causes problems ● Need your help – Addressing ongoing issues – Packaging fonts with appropriate configurations ● Any questions? 2014-10-17 A Closer Look at Fonts and Font Rendering System on openSUSE 28/30