{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## name-viewer.ipynb\n", "\n", "### Usage\n", "\n", "1. Install `jupyter`, `plotly`, `fonttools` dependencies with pip\n", "2. Modify the `FONT_PATH` setting in the Python source block below by clicking next to it and typing a new path in your web browser window\n", "3. Execute the block of Python source by selecting the code block below and clicking the \"Run\" button above\n", "4. Repeat from step 2 with modified font paths to view tables in other fonts\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import plotly as py\n", "import plotly.graph_objs as go\n", "\n", "from fontTools.ttLib import TTFont\n", "\n", "py.offline.init_notebook_mode(connected=True)\n", "\n", "# EDIT HERE ------------------------------------------------------\n", "#\n", "# Path to font file\n", "FONT_PATH = \"path/to/font.ttf\"\n", "#\n", "# Table height\n", "# - adjust for the length of output from the font file\n", "HEIGHT = 700\n", "#\n", "# END EDIT -------------------------------------------------------\n", "\n", "record_list = []\n", "nameID_list = []\n", "ppelangID_list = []\n", "value_list = []\n", "\n", "tt = TTFont(FONT_PATH)\n", "namerecord_list = tt[\"name\"].names\n", "\n", "for record in namerecord_list:\n", " nameID_list.append(record.nameID)\n", " ppelangID_list.append(\"{} {} {}\".format(record.platformID, \n", " record.platEncID, \n", " record.langID))\n", " value_list.append(\"{}\".format(record.string.decode('utf-8').strip()))\n", " \n", "\n", "record_list.append(nameID_list)\n", "record_list.append(ppelangID_list)\n", "record_list.append(value_list)\n", "\n", "\n", "trace0 = go.Table(\n", " columnorder = [1,2,3],\n", " columnwidth = [80,80,400],\n", " header = dict(\n", " values = [['nameID'],\n", " ['p-pE-lang'],\n", " ['Value']\n", " ],\n", " line = dict(color = '#506784'),\n", " fill = dict(color = '#FFDE00'),\n", " align = ['center','center', 'center'],\n", " font = dict(color = 'black', size = 16),\n", " ),\n", " cells = dict(\n", " values = record_list,\n", " line = dict(color = '#506784'),\n", " fill = dict(color = ['#000000', 'white']),\n", " align = ['center', 'center', 'left'],\n", " font = dict(color = ['#F8F8F5', '#000000', '#000000'], size = 14),\n", " height = 30,\n", " ))\n", "\n", "data1 = [trace0]\n", "\n", "layout1 = go.Layout(\n", " autosize=True,\n", " height=HEIGHT,\n", ")\n", "\n", "fig1 = dict(data=data1, layout=layout1)\n", "py.offline.iplot(fig1)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.2" } }, "nbformat": 4, "nbformat_minor": 2 }