.. _pylab_examples-stix_fonts_demo:

pylab_examples example code: stix_fonts_demo.py
===============================================



.. plot:: /home/tcaswell/source/p/matplotlib/doc/mpl_examples/pylab_examples/stix_fonts_demo.py

::

    from __future__ import unicode_literals
    
    import os
    import sys
    import re
    import gc
    import matplotlib.pyplot as plt
    import numpy as np
    
    stests = [
        r'$\mathcircled{123} \mathrm{\mathcircled{123}}'
        r' \mathbf{\mathcircled{123}}$',
        r'$\mathsf{Sans \Omega} \mathrm{\mathsf{Sans \Omega}}'
        r' \mathbf{\mathsf{Sans \Omega}}$',
        r'$\mathtt{Monospace}$',
        r'$\mathcal{CALLIGRAPHIC}$',
        r'$\mathbb{Blackboard \pi}$',
        r'$\mathrm{\mathbb{Blackboard \pi}}$',
        r'$\mathbf{\mathbb{Blackboard \pi}}$',
        r'$\mathfrak{Fraktur} \mathbf{\mathfrak{Fraktur}}$',
        r'$\mathscr{Script}$']
    
    if sys.maxunicode > 0xffff:
        s = r'Direct Unicode: $\u23ce \mathrm{\ue0f2 \U0001D538}$'
    
    
    def doall():
        tests = stests
    
        plt.figure(figsize=(8, (len(tests) * 1) + 2))
        plt.plot([0, 0], 'r')
        plt.grid(False)
        plt.axis([0, 3, -len(tests), 0])
        plt.yticks(np.arange(len(tests)) * -1)
        for i, s in enumerate(tests):
            plt.text(0.1, -i, s, fontsize=32)
    
        plt.savefig('stix_fonts_example')
        plt.show()
    
    
    if '--latex' in sys.argv:
        fd = open("stix_fonts_examples.ltx", "w")
        fd.write("\\documentclass{article}\n")
        fd.write("\\begin{document}\n")
        fd.write("\\begin{enumerate}\n")
    
        for i, s in enumerate(stests):
            s = re.sub(r"(?<!\\)\$", "$$", s)
            fd.write("\\item %s\n" % s)
    
        fd.write("\\end{enumerate}\n")
        fd.write("\\end{document}\n")
        fd.close()
    
        os.system("pdflatex stix_fonts_examples.ltx")
    else:
        doall()
    

Keywords: python, matplotlib, pylab, example, codex (see :ref:`how-to-search-examples`)