micropython-st7789py-lcd-dr.../docs/examples/proverbs.html

420 wiersze
36 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>proverbs.py &mdash; st7789py 0.1.0 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=01f34227"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="roids.py" href="roids.html" />
<link rel="prev" title="noto_fonts.py" href="noto_fonts.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" style="background: #2980B9" >
<a href="../index.html" class="icon icon-home">
st7789py
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../index.html">st7789py Driver</a></li>
<li class="toctree-l1"><a class="reference internal" href="../st7789py.html">st7789py Reference</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../st7789py.html#st7789py.color565"><code class="docutils literal notranslate"><span class="pre">color565()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="../st7789py.html#st7789py.ST7789"><code class="docutils literal notranslate"><span class="pre">ST7789</span></code></a><ul>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.init"><code class="docutils literal notranslate"><span class="pre">ST7789.init()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.hard_reset"><code class="docutils literal notranslate"><span class="pre">ST7789.hard_reset()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.soft_reset"><code class="docutils literal notranslate"><span class="pre">ST7789.soft_reset()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.sleep_mode"><code class="docutils literal notranslate"><span class="pre">ST7789.sleep_mode()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.inversion_mode"><code class="docutils literal notranslate"><span class="pre">ST7789.inversion_mode()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.rotation"><code class="docutils literal notranslate"><span class="pre">ST7789.rotation()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.vline"><code class="docutils literal notranslate"><span class="pre">ST7789.vline()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.hline"><code class="docutils literal notranslate"><span class="pre">ST7789.hline()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.pixel"><code class="docutils literal notranslate"><span class="pre">ST7789.pixel()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.blit_buffer"><code class="docutils literal notranslate"><span class="pre">ST7789.blit_buffer()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.rect"><code class="docutils literal notranslate"><span class="pre">ST7789.rect()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.fill_rect"><code class="docutils literal notranslate"><span class="pre">ST7789.fill_rect()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.fill"><code class="docutils literal notranslate"><span class="pre">ST7789.fill()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.line"><code class="docutils literal notranslate"><span class="pre">ST7789.line()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.vscrdef"><code class="docutils literal notranslate"><span class="pre">ST7789.vscrdef()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.vscsad"><code class="docutils literal notranslate"><span class="pre">ST7789.vscsad()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.text"><code class="docutils literal notranslate"><span class="pre">ST7789.text()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.bitmap"><code class="docutils literal notranslate"><span class="pre">ST7789.bitmap()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.pbitmap"><code class="docutils literal notranslate"><span class="pre">ST7789.pbitmap()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.write"><code class="docutils literal notranslate"><span class="pre">ST7789.write()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.write_width"><code class="docutils literal notranslate"><span class="pre">ST7789.write_width()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../st7789py.html#st7789py.ST7789.polygon"><code class="docutils literal notranslate"><span class="pre">ST7789.polygon()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="../examples.html">Example Programs</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../examples.html#configuration-modules">Configuration modules</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../configs/atom_s3.html">M5STACK AtomS3 128x128 (GC9107)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configs/atom_s3.html#tft-configs-atom-s3-tft-config-py">tft_configs/atom_s3/tft_config.py</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configs/atom_s3.html#tft-configs-atom-s3-tft-buttons-py">tft_configs/atom_s3/tft_buttons.py</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configs/esp32_320x240.html">Generic ESP32 320x240</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configs/esp32_320x240.html#tft-configs-esp32-320x240-tft-config-py">tft_configs/esp32_320x240/tft_config.py</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configs/esp32_320x240.html#tft-configs-esp32-320x240-tft-buttons-py">tft_configs/esp32_320x240/tft_buttons.py</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configs/m5stack_core.html">M5STACK CORE 320x240 (ILI9342)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configs/m5stack_core.html#tft-configs-m5stack-core-tft-config-py">tft_configs/m5stack_core/tft_config.py</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configs/m5stack_core.html#tft-configs-m5stack-core-tft-buttons-py">tft_configs/m5stack_core/tft_buttons.py</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configs/m5stack_core2.html">M5STACK CORE2 320x240 (ILI9342)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configs/m5stack_core2.html#tft-configs-m5stack-core2-tft-config-py">tft_configs/m5stack_core2/tft_config.py</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configs/m5stack_core2.html#tft-configs-m5stack-core2-tft-buttons-py">tft_configs/m5stack_core2/tft_buttons.py</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configs/m5stack_core3.html">M5STACK CoreS3 320x240 (ILI9342)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configs/m5stack_core3.html#tft-configs-m5stack-core3-tft-config-py">tft_configs/m5stack_core3/tft_config.py</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configs/m5stack_core3.html#tft-configs-m5stack-core3-tft-buttons-py">tft_configs/m5stack_core3/tft_buttons.py</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configs/rp2040_touch_lcd_128.html">RP2040-Touch-LCD-1.28 240x240 (GC9A01)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configs/rp2040_touch_lcd_128.html#tft-configs-rp2040-touch-lcd-128-tft-config-py">tft_configs/rp2040_touch_lcd_128/tft_config.py</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configs/rp2040_touch_lcd_128.html#tft-configs-rp2040-touch-lcd-128-tft-buttons-py">tft_configs/rp2040_touch_lcd_128/tft_buttons.py</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configs/t-dongle-s3.html">LilyGo T-Dongle-S3 80x160 (ST7735)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configs/t-dongle-s3.html#tft-configs-t-dongle-s3-tft-config-py">tft_configs/t-dongle-s3/tft_config.py</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configs/t-dongle-s3.html#tft-configs-t-dongle-s3-tft-buttons-py">tft_configs/t-dongle-s3/tft_buttons.py</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configs/t-embed.html">LilyGo T-embed 170x320</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configs/t-embed.html#tft-configs-t-embed-tft-config-py">tft_configs/t-embed/tft_config.py</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configs/t-embed.html#tft-configs-t-embed-tft-buttons-py">tft_configs/t-embed/tft_buttons.py</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configs/t_qt_pro.html">LilyGo T-QT Pro 128x128 (GC9107)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configs/t_qt_pro.html#tft-configs-t-qt-pro-tft-config-py">tft_configs/t_qt_pro/tft_config.py</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configs/t_qt_pro.html#tft-configs-t-qt-pro-tft-buttons-py">tft_configs/t_qt_pro/tft_buttons.py</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configs/ttgo_tdisplay.html">LilyGo T-DISPLAY 135x240</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configs/ttgo_tdisplay.html#tft-configs-ttgo-tdisplay-tft-config-py">tft_configs/ttgo_tdisplay/tft_config.py</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configs/ttgo_tdisplay.html#tft-configs-ttgo-tdisplay-tft-buttons-py">tft_configs/ttgo_tdisplay/tft_buttons.py</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configs/ttgo_tdisplay_rp2040.html">LilyGo T-DISPLAY RP2040 135x240</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configs/ttgo_tdisplay_rp2040.html#tft-configs-ttgo-tdisplay-rp2040-tft-config-py">tft_configs/ttgo_tdisplay_rp2040/tft_config.py</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configs/ttgo_tdisplay_rp2040.html#tft-configs-ttgo-tdisplay-rp2040-tft-buttons-py">tft_configs/ttgo_tdisplay_rp2040/tft_buttons.py</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configs/waveshare_114.html">Waveshare Pico LCD 1.14 135x240</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configs/waveshare_114.html#tft-configs-waveshare-114-tft-config-py">tft_configs/waveshare_114/tft_config.py</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configs/waveshare_114.html#tft-configs-waveshare-114-tft-buttons-py">tft_configs/waveshare_114/tft_buttons.py</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configs/waveshare_13.html">Waveshare Pico LCD 1.3 240x240</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configs/waveshare_13.html#tft-configs-waveshare-13-tft-config-py">tft_configs/waveshare_13/tft_config.py</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configs/waveshare_13.html#tft-configs-waveshare-13-tft-buttons-py">tft_configs/waveshare_13/tft_buttons.py</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configs/waveshare_2.html">Waveshare Pico LCD 2 240x320</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configs/waveshare_2.html#tft-configs-waveshare-2-tft-config-py">tft_configs/waveshare_2/tft_config.py</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configs/waveshare_2.html#tft-configs-waveshare-2-tft-buttons-py">tft_configs/waveshare_2/tft_buttons.py</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2 current"><a class="reference internal" href="../examples.html#examples">Examples</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="alien.html">alien.py</a></li>
<li class="toctree-l3"><a class="reference internal" href="boxlines.html">boxlines.py</a></li>
<li class="toctree-l3"><a class="reference internal" href="chango.html">chango.py</a></li>
<li class="toctree-l3"><a class="reference internal" href="color_test.html">color_test.py</a></li>
<li class="toctree-l3"><a class="reference internal" href="colorbars.html">colorbars.py</a></li>
<li class="toctree-l3"><a class="reference internal" href="feathers.html">feathers.py</a></li>
<li class="toctree-l3"><a class="reference internal" href="fonts.html">fonts.py</a></li>
<li class="toctree-l3"><a class="reference internal" href="hello.html">hello.py</a></li>
<li class="toctree-l3"><a class="reference internal" href="noto_fonts.html">noto_fonts.py</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">proverbs.py</a></li>
<li class="toctree-l3"><a class="reference internal" href="roids.html">roids.py</a></li>
<li class="toctree-l3"><a class="reference internal" href="rotations.html">rotations.py</a></li>
<li class="toctree-l3"><a class="reference internal" href="scroll.html">scroll.py</a></li>
<li class="toctree-l3"><a class="reference internal" href="tiny_hello.html">tiny_hello.py</a></li>
<li class="toctree-l3"><a class="reference internal" href="tiny_toasters.html">tiny_toasters.py</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../fonts.html">Fonts</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../fonts.html#bitmap-fonts">Bitmap Fonts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../fonts.html#bitmap-font-conversion">Bitmap Font Conversion</a></li>
<li class="toctree-l3"><a class="reference internal" href="../fonts.html#bitmap-font-samples">Bitmap Font Samples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../fonts.html#x8-rom-fonts">8x8 Rom Fonts</a></li>
<li class="toctree-l4"><a class="reference internal" href="../fonts.html#x16-rom-fonts">8x16 Rom Fonts</a></li>
<li class="toctree-l4"><a class="reference internal" href="../fonts.html#id2">16x16 Rom Fonts</a></li>
<li class="toctree-l4"><a class="reference internal" href="../fonts.html#x32-rom-fonts">16x32 Rom Fonts</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../fonts.html#true-type-fonts">True Type fonts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../fonts.html#true-type-font-conversion">True-Type Font Conversion</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../utilities.html">Utilities</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../utilities/create_png_examples.html">create_png_examples.py</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../utilities/create_png_examples.html#example">Example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../utilities/create_png_examples.html#usage">Usage</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../utilities/image_converter.html">image_converter.py</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../utilities/image_converter.html#example">Example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../utilities/image_converter.html#usage">Usage</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../utilities/make_colorbars_bitmap.html">make_colorbars_bitmap.py</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../utilities/make_colorbars_bitmap.html#example">Example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../utilities/make_colorbars_bitmap.html#usage">Usage</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../utilities/sprites_converter.html">sprites_converter.py</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../utilities/sprites_converter.html#example">Example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../utilities/sprites_converter.html#usage">Usage</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../utilities/text_font_converter.html">text_font_converter.py</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../utilities/text_font_converter.html#example">Example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../utilities/text_font_converter.html#usage">Usage</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../utilities/write_font_converter.html">write_font_converter.py</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../utilities/write_font_converter.html#example">Example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../utilities/write_font_converter.html#usage">Usage</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" style="background: #2980B9" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">st7789py</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content style-external-links">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../examples.html">Example Programs</a></li>
<li class="breadcrumb-item active">proverbs.py</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/examples/proverbs.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="proverbs-py">
<span id="proverbs"></span><h1>proverbs.py<a class="headerlink" href="#proverbs-py" title="Link to this heading"></a></h1>
<figure class="align-center" id="id1">
<img alt="../_images/proverbs.jpg" src="../_images/proverbs.jpg" />
<figcaption>
<p><span class="caption-text">Test for TrueType write_font_converter.</span><a class="headerlink" href="#id1" title="Link to this image"></a></p>
</figcaption>
</figure>
<p>Displays what I hope are chinese proverbs in simplified chinese to test UTF-8 font support.
The fonts were converted from True Type fonts using the
<a class="reference internal" href="../utilities/write_font_converter.html#write-font-converter"><span class="std std-ref">write_font_converter.py</span></a> utility.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/sh</span>
<span class="o">../../</span><span class="n">utils</span><span class="o">/</span><span class="n">write_font_converter</span><span class="o">.</span><span class="n">py</span> \
<span class="o">-</span><span class="n">s</span> <span class="s2">&quot;万事起头难。熟能生巧。冰冻三尺,非一日之寒。三个臭皮匠,胜过诸葛亮。今日事,今日毕。师父领进门,修行在个人。一口吃不成胖子。欲速则不达。百闻不如一见。不入虎穴,焉得虎子。&quot;</span> \
<span class="n">NotoSansSC</span><span class="o">-</span><span class="n">Regular</span><span class="o">.</span><span class="n">otf</span> <span class="mi">20</span> <span class="o">&gt;</span><span class="n">proverbs_20</span><span class="o">.</span><span class="n">py</span>
<span class="o">../../</span><span class="n">utils</span><span class="o">/</span><span class="n">write_font_converter</span><span class="o">.</span><span class="n">py</span> \
<span class="o">-</span><span class="n">s</span> <span class="s2">&quot;万事起头难。熟能生巧。冰冻三尺,非一日之寒。三个臭皮匠,胜过诸葛亮。今日事,今日毕。师父领进门,修行在个人。一口吃不成胖子。欲速则不达。百闻不如一见。不入虎穴,焉得虎子。&quot;</span> \
<span class="n">NotoSansSC</span><span class="o">-</span><span class="n">Regular</span><span class="o">.</span><span class="n">otf</span> <span class="mi">30</span> <span class="o">&gt;</span><span class="n">proverbs_30</span><span class="o">.</span><span class="n">py</span>
</pre></div>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This example requires the following modules:</p>
<table class="hlist"><tr><td><ul class="simple">
<li><p><cite>st7789py</cite></p></li>
<li><p><cite>tft_config</cite></p></li>
</ul>
</td><td><ul class="simple">
<li><p><cite>proverbs_20</cite></p></li>
</ul>
</td><td><ul class="simple">
<li><p><cite>proverbs_30</cite></p></li>
</ul>
</td></tr></table>
</div>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 1</span><span class="sd">&quot;&quot;&quot;</span>
<span class="linenos"> 2</span><span class="sd">proverbs.py</span>
<span class="linenos"> 3</span><span class="sd">===========</span>
<span class="linenos"> 4</span>
<span class="linenos"> 5</span><span class="sd">.. figure:: ../_static/proverbs.jpg</span>
<span class="linenos"> 6</span><span class="sd"> :align: center</span>
<span class="linenos"> 7</span>
<span class="linenos"> 8</span><span class="sd"> Test for TrueType write_font_converter.</span>
<span class="linenos"> 9</span>
<span class="linenos">10</span><span class="sd">Displays what I hope are chinese proverbs in simplified chinese to test UTF-8 font support.</span>
<span class="linenos">11</span><span class="sd">The fonts were converted from True Type fonts using the</span>
<span class="linenos">12</span><span class="sd">:ref:`write_font_converter.py&lt;write_font_converter&gt;` utility.</span>
<span class="linenos">13</span>
<span class="linenos">14</span><span class="sd">.. literalinclude:: ../../../examples/proverbs/make_proverbs_fonts.sh</span>
<span class="linenos">15</span>
<span class="linenos">16</span>
<span class="linenos">17</span><span class="sd">.. note:: This example requires the following modules:</span>
<span class="linenos">18</span>
<span class="linenos">19</span><span class="sd"> .. hlist::</span>
<span class="linenos">20</span><span class="sd"> :columns: 3</span>
<span class="linenos">21</span>
<span class="linenos">22</span><span class="sd"> - `st7789py`</span>
<span class="linenos">23</span><span class="sd"> - `tft_config`</span>
<span class="linenos">24</span><span class="sd"> - `proverbs_20`</span>
<span class="linenos">25</span><span class="sd"> - `proverbs_30`</span>
<span class="linenos">26</span>
<span class="linenos">27</span><span class="sd">&quot;&quot;&quot;</span>
<span class="linenos">28</span>
<span class="linenos">29</span><span class="kn">import</span> <span class="nn">utime</span>
<span class="linenos">30</span><span class="kn">import</span> <span class="nn">st7789py</span> <span class="k">as</span> <span class="nn">st7789</span>
<span class="linenos">31</span><span class="kn">import</span> <span class="nn">tft_config</span>
<span class="linenos">32</span><span class="kn">import</span> <span class="nn">proverbs_20</span> <span class="k">as</span> <span class="nn">font20</span>
<span class="linenos">33</span><span class="kn">import</span> <span class="nn">proverbs_30</span> <span class="k">as</span> <span class="nn">font30</span>
<span class="linenos">34</span>
<span class="linenos">35</span>
<span class="linenos">36</span><span class="n">tft</span> <span class="o">=</span> <span class="n">tft_config</span><span class="o">.</span><span class="n">config</span><span class="p">(</span><span class="n">tft_config</span><span class="o">.</span><span class="n">WIDE</span><span class="p">)</span>
<span class="linenos">37</span>
<span class="linenos">38</span>
<span class="linenos">39</span><span class="k">def</span> <span class="nf">color_wheel</span><span class="p">(</span><span class="n">WheelPos</span><span class="p">):</span>
<span class="linenos">40</span><span class="w"> </span><span class="sd">&quot;&quot;&quot;returns a 565 color from the given position of the color wheel&quot;&quot;&quot;</span>
<span class="linenos">41</span> <span class="n">WheelPos</span> <span class="o">=</span> <span class="p">(</span><span class="mi">255</span> <span class="o">-</span> <span class="n">WheelPos</span><span class="p">)</span> <span class="o">%</span> <span class="mi">255</span>
<span class="linenos">42</span>
<span class="linenos">43</span> <span class="k">if</span> <span class="n">WheelPos</span> <span class="o">&lt;</span> <span class="mi">85</span><span class="p">:</span>
<span class="linenos">44</span> <span class="k">return</span> <span class="n">st7789</span><span class="o">.</span><span class="n">color565</span><span class="p">(</span><span class="mi">255</span> <span class="o">-</span> <span class="n">WheelPos</span> <span class="o">*</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">WheelPos</span> <span class="o">*</span> <span class="mi">3</span><span class="p">)</span>
<span class="linenos">45</span>
<span class="linenos">46</span> <span class="k">if</span> <span class="n">WheelPos</span> <span class="o">&lt;</span> <span class="mi">170</span><span class="p">:</span>
<span class="linenos">47</span> <span class="n">WheelPos</span> <span class="o">-=</span> <span class="mi">85</span>
<span class="linenos">48</span> <span class="k">return</span> <span class="n">st7789</span><span class="o">.</span><span class="n">color565</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">WheelPos</span> <span class="o">*</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">255</span> <span class="o">-</span> <span class="n">WheelPos</span> <span class="o">*</span> <span class="mi">3</span><span class="p">)</span>
<span class="linenos">49</span>
<span class="linenos">50</span> <span class="n">WheelPos</span> <span class="o">-=</span> <span class="mi">170</span>
<span class="linenos">51</span> <span class="k">return</span> <span class="n">st7789</span><span class="o">.</span><span class="n">color565</span><span class="p">(</span><span class="n">WheelPos</span> <span class="o">*</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">255</span> <span class="o">-</span> <span class="n">WheelPos</span> <span class="o">*</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="linenos">52</span>
<span class="linenos">53</span>
<span class="linenos">54</span><span class="k">def</span> <span class="nf">main</span><span class="p">():</span>
<span class="linenos">55</span> <span class="n">proverbs</span> <span class="o">=</span> <span class="p">[</span>
<span class="linenos">56</span> <span class="s2">&quot;万事起头难&quot;</span><span class="p">,</span>
<span class="linenos">57</span> <span class="s2">&quot;熟能生巧&quot;</span><span class="p">,</span>
<span class="linenos">58</span> <span class="s2">&quot;冰冻三尺,非一日之寒&quot;</span><span class="p">,</span>
<span class="linenos">59</span> <span class="s2">&quot;三个臭皮匠,胜过诸葛亮&quot;</span><span class="p">,</span>
<span class="linenos">60</span> <span class="s2">&quot;今日事,今日毕&quot;</span><span class="p">,</span>
<span class="linenos">61</span> <span class="s2">&quot;师父领进门,修行在个人&quot;</span><span class="p">,</span>
<span class="linenos">62</span> <span class="s2">&quot;一口吃不成胖子&quot;</span><span class="p">,</span>
<span class="linenos">63</span> <span class="s2">&quot;欲速则不达&quot;</span><span class="p">,</span>
<span class="linenos">64</span> <span class="s2">&quot;百闻不如一见&quot;</span><span class="p">,</span>
<span class="linenos">65</span> <span class="s2">&quot;不入虎穴,焉得虎子&quot;</span><span class="p">,</span>
<span class="linenos">66</span> <span class="p">]</span>
<span class="linenos">67</span>
<span class="linenos">68</span> <span class="n">font</span> <span class="o">=</span> <span class="n">font20</span> <span class="k">if</span> <span class="n">tft</span><span class="o">.</span><span class="n">width</span> <span class="o">&lt;</span> <span class="mi">239</span> <span class="k">else</span> <span class="n">font30</span>
<span class="linenos">69</span> <span class="n">line_height</span> <span class="o">=</span> <span class="n">font</span><span class="o">.</span><span class="n">HEIGHT</span> <span class="o">+</span> <span class="mi">8</span>
<span class="linenos">70</span> <span class="n">half_height</span> <span class="o">=</span> <span class="n">tft</span><span class="o">.</span><span class="n">height</span> <span class="o">//</span> <span class="mi">2</span>
<span class="linenos">71</span> <span class="n">half_width</span> <span class="o">=</span> <span class="n">tft</span><span class="o">.</span><span class="n">width</span> <span class="o">//</span> <span class="mi">2</span>
<span class="linenos">72</span> <span class="n">wheel</span> <span class="o">=</span> <span class="mi">0</span>
<span class="linenos">73</span>
<span class="linenos">74</span> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
<span class="linenos">75</span> <span class="k">for</span> <span class="n">proverb</span> <span class="ow">in</span> <span class="n">proverbs</span><span class="p">:</span>
<span class="linenos">76</span> <span class="n">proverb_lines</span> <span class="o">=</span> <span class="n">proverb</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">)</span>
<span class="linenos">77</span> <span class="n">half_lines_height</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">proverb_lines</span><span class="p">)</span> <span class="o">*</span> <span class="n">line_height</span> <span class="o">//</span> <span class="mi">2</span>
<span class="linenos">78</span>
<span class="linenos">79</span> <span class="n">tft</span><span class="o">.</span><span class="n">fill</span><span class="p">(</span><span class="n">st7789</span><span class="o">.</span><span class="n">BLACK</span><span class="p">)</span>
<span class="linenos">80</span>
<span class="linenos">81</span> <span class="k">for</span> <span class="n">count</span><span class="p">,</span> <span class="n">proverb_line</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">proverb_lines</span><span class="p">):</span>
<span class="linenos">82</span> <span class="n">half_length</span> <span class="o">=</span> <span class="n">tft</span><span class="o">.</span><span class="n">write_width</span><span class="p">(</span><span class="n">font</span><span class="p">,</span> <span class="n">proverb_line</span><span class="p">)</span> <span class="o">//</span> <span class="mi">2</span>
<span class="linenos">83</span>
<span class="linenos">84</span> <span class="n">tft</span><span class="o">.</span><span class="n">write</span><span class="p">(</span>
<span class="linenos">85</span> <span class="n">font</span><span class="p">,</span>
<span class="linenos">86</span> <span class="n">proverb_line</span><span class="p">,</span>
<span class="linenos">87</span> <span class="n">half_width</span> <span class="o">-</span> <span class="n">half_length</span><span class="p">,</span>
<span class="linenos">88</span> <span class="n">half_height</span> <span class="o">-</span> <span class="n">half_lines_height</span> <span class="o">+</span> <span class="n">count</span> <span class="o">*</span> <span class="n">line_height</span><span class="p">,</span>
<span class="linenos">89</span> <span class="n">color_wheel</span><span class="p">(</span><span class="n">wheel</span><span class="p">),</span>
<span class="linenos">90</span> <span class="p">)</span>
<span class="linenos">91</span>
<span class="linenos">92</span> <span class="n">wheel</span> <span class="o">=</span> <span class="p">(</span><span class="n">wheel</span> <span class="o">+</span> <span class="mi">5</span><span class="p">)</span> <span class="o">%</span> <span class="mi">256</span>
<span class="linenos">93</span>
<span class="linenos">94</span> <span class="c1"># pause to slow down scrolling</span>
<span class="linenos">95</span> <span class="n">utime</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="linenos">96</span>
<span class="linenos">97</span>
<span class="linenos">98</span><span class="n">main</span><span class="p">()</span>
</pre></div>
</div>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="noto_fonts.html" class="btn btn-neutral float-left" title="noto_fonts.py" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="roids.html" class="btn btn-neutral float-right" title="roids.py" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p></p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>