Merge pull request #116 from Ciubix8513/progress-bar-ligatures

Added continuous ligatures
This commit is contained in:
Idrees authored and GitHub committed 2023-06-10 13:15:21 -04:00
commit 7da29e1173
5 files changed
+486 -5

No files matched your search

+210 -1
View File
@@ -36,4 +36,213 @@ a b c d e f g h i j k l m n o p q r s t u v w x y z
 < - -> <-
 - > -> ->
 = > -> =>
 < = > -> <=>
 < = > -> <=>
 = = > -> ==>
 = = = > -> ===>
 = = = = > -> ====>
 = = = = = > -> =====>
 = = = = = = >-> ======>
 = = = = = = = >-> =======>
 = = = = = = = = >-> ========>
 = = = = = = = = = >-> =========>
 = = = = = = = = = = >-> ==========>
 = = = = = = = = = = = >-> ===========>
 = = = = = = = = = = = = >-> ============>
 = = = = = = = = = = = = = >-> =============>
 = = = = = = = = = = = = = = >-> ==============>
 = = = = = = = = = = = = = = = >-> ===============>
 = = = = = = = = = = = = = = = = >-> ================>
 = = = = = = = = = = = = = = = = = >-> =================>
 = = = = = = = = = = = = = = = = = = >-> ==================>
 = = = = = = = = = = = = = = = = = = = >-> ===================>
 = = = = = = = = = = = = = = = = = = = = >-> ====================>
 = = = = = = = = = = = = = = = = = = = = = >-> =====================>
 = = = = = = = = = = = = = = = = = = = = = = >-> ======================>
 = = = = = = = = = = = = = = = = = = = = = = = >-> =======================>
 = = = = = = = = = = = = = = = = = = = = = = = = >-> ========================>
 = = = = = = = = = = = = = = = = = = = = = = = = = >-> =========================>
 = = = = = = = = = = = = = = = = = = = = = = = = = = >-> ==========================>
 = = = = = = = = = = = = = = = = = = = = = = = = = = = >-> ===========================>
 = = = = = = = = = = = = = = = = = = = = = = = = = = = = >-> ============================>
 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = >-> =============================>
 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = >-> ==============================>
 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = >-> ===============================>
 < = = -> <==
 < = = = -> <===
 < = = = = -> <====
 < = = = = = -> <=====
 < = = = = = =-> <======
 < = = = = = = =-> <=======
 < = = = = = = = =-> <========
 < = = = = = = = = =-> <=========
 < = = = = = = = = = =-> <==========
 < = = = = = = = = = = =-> <===========
 < = = = = = = = = = = = =-> <============
 < = = = = = = = = = = = = =-> <=============
 < = = = = = = = = = = = = = =-> <==============
 < = = = = = = = = = = = = = = =-> <===============
 < = = = = = = = = = = = = = = = =-> <================
 < = = = = = = = = = = = = = = = = =-> <=================
 < = = = = = = = = = = = = = = = = = =-> <==================
 < = = = = = = = = = = = = = = = = = = =-> <===================
 < = = = = = = = = = = = = = = = = = = = =-> <====================
 < = = = = = = = = = = = = = = = = = = = = =-> <=====================
 < = = = = = = = = = = = = = = = = = = = = = =-> <======================
 < = = = = = = = = = = = = = = = = = = = = = = =-> <=======================
 < = = = = = = = = = = = = = = = = = = = = = = = =-> <========================
 < = = = = = = = = = = = = = = = = = = = = = = = = =-> <=========================
 < = = = = = = = = = = = = = = = = = = = = = = = = = =-> <==========================
 < = = = = = = = = = = = = = = = = = = = = = = = = = = =-> <===========================
 < = = = = = = = = = = = = = = = = = = = = = = = = = = = =-> <============================
 < = = = = = = = = = = = = = = = = = = = = = = = = = = = = =-> <=============================
 < = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =-> <==============================
 < = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =-> <===============================
 - - > -> -->
 - - - > -> --->
 - - - - > -> ---->
 - - - - - > -> ----->
 - - - - - - >-> ------>
 - - - - - - - >-> ------->
 - - - - - - - - >-> -------->
 - - - - - - - - - >-> --------->
 - - - - - - - - - - >-> ---------->
 - - - - - - - - - - - >-> ----------->
 - - - - - - - - - - - - >-> ------------>
 - - - - - - - - - - - - - >-> ------------->
 - - - - - - - - - - - - - - >-> -------------->
 - - - - - - - - - - - - - - - >-> --------------->
 - - - - - - - - - - - - - - - - >-> ---------------->
 - - - - - - - - - - - - - - - - - >-> ----------------->
 - - - - - - - - - - - - - - - - - - >-> ------------------>
 - - - - - - - - - - - - - - - - - - - >-> ------------------->
 - - - - - - - - - - - - - - - - - - - - >-> -------------------->
 - - - - - - - - - - - - - - - - - - - - - >-> --------------------->
 - - - - - - - - - - - - - - - - - - - - - - >-> ---------------------->
 - - - - - - - - - - - - - - - - - - - - - - - >-> ----------------------->
 - - - - - - - - - - - - - - - - - - - - - - - - >-> ------------------------>
 - - - - - - - - - - - - - - - - - - - - - - - - - >-> ------------------------->
 - - - - - - - - - - - - - - - - - - - - - - - - - - >-> -------------------------->
 - - - - - - - - - - - - - - - - - - - - - - - - - - - >-> --------------------------->
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - >-> ---------------------------->
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >-> ----------------------------->
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >-> ------------------------------>
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >-> ------------------------------->
 < - - -> <--
 < - - - -> <---
 < - - - - -> <----
 < - - - - - -> <-----
 < - - - - - --> <------
 < - - - - - - --> <-------
 < - - - - - - - --> <--------
 < - - - - - - - - --> <---------
 < - - - - - - - - - --> <----------
 < - - - - - - - - - - --> <-----------
 < - - - - - - - - - - - --> <------------
 < - - - - - - - - - - - - --> <-------------
 < - - - - - - - - - - - - - --> <--------------
 < - - - - - - - - - - - - - - --> <---------------
 < - - - - - - - - - - - - - - - --> <----------------
 < - - - - - - - - - - - - - - - - --> <-----------------
 < - - - - - - - - - - - - - - - - - --> <------------------
 < - - - - - - - - - - - - - - - - - - --> <-------------------
 < - - - - - - - - - - - - - - - - - - - --> <--------------------
 < - - - - - - - - - - - - - - - - - - - - --> <---------------------
 < - - - - - - - - - - - - - - - - - - - - - --> <----------------------
 < - - - - - - - - - - - - - - - - - - - - - - --> <-----------------------
 < - - - - - - - - - - - - - - - - - - - - - - - --> <------------------------
 < - - - - - - - - - - - - - - - - - - - - - - - - --> <-------------------------
 < - - - - - - - - - - - - - - - - - - - - - - - - - --> <--------------------------
 < - - - - - - - - - - - - - - - - - - - - - - - - - - --> <---------------------------
 < - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <----------------------------
 < - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <-----------------------------
 < - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <------------------------------
 < - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <-------------------------------
 - - - -> ---
 - - - - -> ----
 - - - - - -> -----
 - - - - - - -> ------
 - - - - - - --> -------
 - - - - - - - --> --------
 - - - - - - - - --> ---------
 - - - - - - - - - --> ----------
 - - - - - - - - - - --> -----------
 - - - - - - - - - - - --> ------------
 - - - - - - - - - - - - --> -------------
 - - - - - - - - - - - - - --> --------------
 - - - - - - - - - - - - - - --> ---------------
 - - - - - - - - - - - - - - - --> ----------------
 - - - - - - - - - - - - - - - - --> -----------------
 - - - - - - - - - - - - - - - - - --> ------------------
 - - - - - - - - - - - - - - - - - - --> -------------------
 - - - - - - - - - - - - - - - - - - - --> --------------------
 - - - - - - - - - - - - - - - - - - - - --> ---------------------
 - - - - - - - - - - - - - - - - - - - - - --> ----------------------
 - - - - - - - - - - - - - - - - - - - - - - --> -----------------------
 - - - - - - - - - - - - - - - - - - - - - - - --> ------------------------
 - - - - - - - - - - - - - - - - - - - - - - - - --> -------------------------
 - - - - - - - - - - - - - - - - - - - - - - - - - --> --------------------------
 - - - - - - - - - - - - - - - - - - - - - - - - - - --> ---------------------------
 - - - - - - - - - - - - - - - - - - - - - - - - - - - --> ----------------------------
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> -----------------------------
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> ------------------------------
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> -------------------------------
 ^ ^ -> ^^
 ^ ^ ^ -> ^^^
 ^ ^ ^ ^ -> ^^^^
 ^ ^ ^ ^ ^ -> ^^^^^
 ^ ^ ^ ^ ^ ^ -> ^^^^^^
 ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^-> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 + + -> ++
 + + + -> +++
 + + + + -> ++++
 + + + + + -> +++++
 + + + + + + -> ++++++
 + + + + + + +-> +++++++
 + + + + + + + +-> ++++++++
 + + + + + + + + +-> +++++++++
 + + + + + + + + + +-> ++++++++++
 + + + + + + + + + + +-> +++++++++++
 + + + + + + + + + + + +-> ++++++++++++
 + + + + + + + + + + + + +-> +++++++++++++
 + + + + + + + + + + + + + +-> ++++++++++++++
 + + + + + + + + + + + + + + +-> +++++++++++++++
 + + + + + + + + + + + + + + + +-> ++++++++++++++++
 + + + + + + + + + + + + + + + + +-> +++++++++++++++++
 + + + + + + + + + + + + + + + + + +-> ++++++++++++++++++
 + + + + + + + + + + + + + + + + + + +-> +++++++++++++++++++
 + + + + + + + + + + + + + + + + + + + +-> ++++++++++++++++++++
 + + + + + + + + + + + + + + + + + + + + +-> +++++++++++++++++++++
 + + + + + + + + + + + + + + + + + + + + + +-> ++++++++++++++++++++++
 + + + + + + + + + + + + + + + + + + + + + + +-> +++++++++++++++++++++++
 + + + + + + + + + + + + + + + + + + + + + + + +-> ++++++++++++++++++++++++
 + + + + + + + + + + + + + + + + + + + + + + + + +-> +++++++++++++++++++++++++
 + + + + + + + + + + + + + + + + + + + + + + + + + +-> ++++++++++++++++++++++++++
 + + + + + + + + + + + + + + + + + + + + + + + + + + +-> +++++++++++++++++++++++++++
 + + + + + + + + + + + + + + + + + + + + + + + + + + + +-> ++++++++++++++++++++++++++++
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-> +++++++++++++++++++++++++++++
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-> ++++++++++++++++++++++++++++++
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-> +++++++++++++++++++++++++++++++
+197
View File
@@ -0,0 +1,197 @@
[
{
"head": "=>",
"body": "=",
"head_name": "Right fat arrow",
"body_name": "equals sign",
"direction": "right",
"min_length": 1,
"max_length": 30,
"head_pixels": [
[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]
],
"body_pixels": [
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]
]
},
{
"head": "<=",
"body": "=",
"head_name": "left fat arrow",
"body_name": "equals sign",
"direction": "left",
"min_length": 1,
"max_length": 30,
"head_pixels": [
[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
],
"body_pixels": [
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]
]
},
{
"head": "->",
"body": "-",
"head_name": "Right arrow",
"body_name": "minus",
"direction": "right",
"min_length": 1,
"max_length": 30,
"head_pixels": [
[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]
],
"body_pixels": [
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]
]
},
{
"head": "<-",
"body": "-",
"head_name": "left arrow",
"body_name": "minus",
"direction": "left",
"min_length": 1,
"max_length": 30,
"head_pixels": [
[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
],
"body_pixels": [
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]
]
},
{
"head": "-",
"body": "-",
"head_name": "minus",
"body_name": "minus",
"direction": "left",
"min_length": 2,
"max_length": 30,
"head_pixels": [
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
],
"body_pixels": [
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]
]
},
{
"head": "^",
"body": "^",
"head_name": "caret",
"body_name": "caret",
"direction": "right",
"min_length": 1,
"max_length": 30,
"head_pixels": [
[0, 0, 1, 1, 0, 0],
[0, 1, 0, 0, 1, 0],
[1, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]
],
"body_pixels": [
[0, 0, 1, 1, 0, 0],
[0, 1, 0, 0, 1, 0],
[1, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]
]
},
{
"head": "+",
"body": "+",
"head_name": "plus",
"body_name": "plus",
"direction": "right",
"min_length": 1,
"max_length": 30,
"head_pixels": [
[0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0],
[0, 0, 1, 0, 0, 0],
[1, 1, 1, 1, 1, 0],
[0, 0, 1, 0, 0, 0],
[0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 0]
],
"body_pixels": [
[0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0],
[0, 0, 1, 0, 0, 0],
[1, 1, 1, 1, 1, 1],
[0, 0, 1, 0, 0, 0],
[0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 0]
]
}
]
+75
View File
@@ -0,0 +1,75 @@
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import json
import copy
def generate_continuous_ligatures(filename):
"""
Generates continuous ligature data from a JSON file.
The JSON file should have the following structure:
[
{
"head_name": "string",
"body_name": "string",
"head": "string",
"body": "string",
"direction": "left" or "right",
"min_length": int,
"max_length": int,
"head_pixels": [[int, int, ...], ...],
"body_pixels": [[int, int, ...], ...]
},
...
]
Returns a list of progress bars, where each progress bar is a dictionary with the following keys:
- "name": a string representing the name of the progress bar
- "ligature": a string representing the progress bar
- "sequence": a list of integers representing the Unicode code points of the characters in the progress bar
- "pixels": a list of integers representing the pixels of the progress bar
"""
data = json.load(open(filename))
out = []
for d in data:
name = f'{d["head_name"]} {d["body_name"]} '
body_pixels = d["body_pixels"]
head_pixels = d["head_pixels"]
body = [[] for _ in range(len(body_pixels))] # copy.deepcopy(body_pixels)
for i in range( d["min_length"],d["max_length"] + 1):
o = {}
#generate ligature data
o["name"] = name + str(i);
if d["direction"] == "right":
o["ligature"] = d["body"] * i +d["head"]
else:
o["ligature"] = d["head"] + d["body"] * i
o["sequence"] = [ord(c) for c in o["ligature"]]
#generate pixels
#expand the body by 1
for k in range(len(body)):
body[k] += body_pixels[k]
pixels = []
if d["direction"] == "right":
pixels = copy.deepcopy(body)
for j in range(len(pixels)):
pixels[j] += head_pixels[j]
else:
pixels = copy.deepcopy(head_pixels)
for j in range(len(pixels)):
pixels[j] += body[j]
o["pixels"] = pixels
out.append(o)
return out
+1 -1
View File
@@ -150,4 +150,4 @@
[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]
]
}
]
]
+3 -3
View File
@@ -20,12 +20,13 @@ import math
from generate_diacritics import generateDiacritics
from generate_examples import generateExamples
from polygonizer import PixelImage, generatePolygons
from generate_continuous_ligatures import generate_continuous_ligatures
PIXEL_SIZE = 120
characters = json.load(open("./characters.json"))
diacritics = json.load(open("./diacritics.json"))
ligatures = json.load(open("./ligatures.json"))
ligatures = json.load(open("./ligatures.json")) + generate_continuous_ligatures("./continuous_ligatures.json")
characters = generateDiacritics(characters, diacritics)
charactersByCodepoint = {}
@@ -63,7 +64,6 @@ def generateFont():
os.makedirs(outputDir)
monocraft.generate(outputDir + "Monocraft-no-ligatures.ttf")
for ligature in ligatures:
lig = monocraft.createChar(-1, ligature["name"])
pen = monocraft[ligature["name"]].glyphPen()
@@ -132,4 +132,4 @@ def drawImage(image, pen, *, dx=0, dy=0):
pen.closePath()
generateFont()
generateExamples(characters, ligatures, charactersByCodepoint)
generateExamples(characters, ligatures, charactersByCodepoint)