aboutsummaryrefslogtreecommitdiff
path: root/Snippets/name-viewer.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Snippets/name-viewer.ipynb')
-rw-r--r--Snippets/name-viewer.ipynb117
1 files changed, 117 insertions, 0 deletions
diff --git a/Snippets/name-viewer.ipynb b/Snippets/name-viewer.ipynb
new file mode 100644
index 00000000..11722bca
--- /dev/null
+++ b/Snippets/name-viewer.ipynb
@@ -0,0 +1,117 @@
+{
+ "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 = [['<b>nameID</b>'],\n",
+ " ['<b>p-pE-lang</b>'],\n",
+ " ['<b>Value</b>']\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
+}