vayn / python-fontconfig

Python binding for Fontconfig
http://git.io/fc
GNU General Public License v3.0
15 stars 5 forks source link

================= Python-fontconfig

Python bindings for Fontconfig_ library

Requirement

.. _Cython: http://cython.org/ .. _Fontconfig: http://www.freedesktop.org/wiki/Software/fontconfig

Tested on



- ``Python 2.7.2`` (32-bit, 64-bit)
- ``Python 3.2.2`` (32-bit, 64-bit)
- ``Python 3.3.2`` (64-bit)

Installation
------------

From PyPI::

  >>> pip install Python-fontconfig

  or

  >>> easy_install Python-fontconfig 

From GitHub::

  >>> git clone git://github.com/Vayn/python-fontconfig.git
  >>> cd python-fontconfig/
  >>> python setup.py install

Building C source
-----------------

>>> python setup.py build_ext -i 

Testing
-------

>>> cd test/
>>> python test.py

Usage
-----

>>> import fontconfig

>>> fonts = fontconfig.query(family='ubuntu', lang='en')

>>> fonts
['/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-BI.ttf',
 '/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-L.ttf',
 '/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-LI.ttf',
 '/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-R.ttf',
 '/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-B.ttf',
 '/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-RI.ttf']

>>> font = fontconfig.FcFont(fonts[0])

>>> font
<FcFont: Ubuntu>

>>> font.
font.bestname       font.capability     font.fullname
font.slant      font.count_chars    font.get_languages
font.spacing        font.decorative     font.has_char
font.style      font.family     font.index
font.weight     font.file       font.outline
font.width      font.fontformat     font.print_pattern
font.foundry        font.scalable

>>> font.family
{'en': 'Ubuntu'}

>>> font.bestname
{'en': 'Ubuntu'}

>>> font.foundry
'unknown'

>>> font.fontformat
'TrueType'

>>> font.has_char('A')
True

>>> font.file
'/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-BI.ttf'

>>> fontconfig.fromName('Ubuntu')
<FcFont: Ubuntu>

>>> font = fontconfig.FcFont(font.file)

>>> font.family
{'en': 'Ubuntu'}

License
-------

This program is released under ``GPLv3`` license, see ``LICENSE`` for more detail.