Braille Base
-
BrailleBase is an algorithm developed in Python with the goal of making Braille accessible to both blind and sighted individuals.
-
Its architecture was designed to be intuitive, easy to understand, and simple to manipulate, allowing any developer to explore, transform, and integrate Braille data without complexity.
BrailleBase is divided into X parts.
Register Letters and Characters
The first part of BrailleBase is responsible for registering letters, characters, symbols, icons, and other elements. The registration methods are organized into four sets:
General — where all items are registered: letters, numbers, uppercase and lowercase characters, punctuation, and other elements.
Uppercase — stores all uppercase items of the registered language.
CJK — registers phonetic alphabets such as Pinyin, Katakana, Hangul, and other East Asian writing systems.
RTL — stores alphabets that are written and read from right to left.
The Uppercase, CJK, and RTL sets are also added to the General set. Therefore:
General = {General[0], Uppercase[1], CJK[2], RTL[3]}
from braillebase import BrailleBase
class BrailleBaseExemple(BrailleBase):
def __init__(self):
super().__init__()
#Uppercase / Lowercase Rules
self.setting_braille_rules_uppercase("⠠", "⠠⠄")
#General
self.append_braille_letter("a", ["⠁"])
self.append_braille_letter("b", ["⠃"])
self.append_braille_letter("c", ["⠉"])
#Upper
self.append_braille_letter("A", ["⠁"],1)
self.append_braille_letter("B", ["⠃"],1)
self.append_braille_letter("C", ["⠉"],1)
#CJK
self.append_braille_letter("あ", ["⠁"],2)
self.append_braille_letter("い", ["⠃"],2)
self.append_braille_letter("う", ["⠉"],2)
self.append_braille_letter("え", ["⠋"],2)
self.append_braille_letter("お", ["⠊"],2)
#RTL
self.append_braille_letter("ا", ["⠁"], 3)
self.append_braille_letter("ب", ["⠃"], 3)
self.append_braille_letter("ت", ["⠞"], 3)
self.append_braille_letter("ث", ["⠹"], 3)
self.append_braille_letter("ج", ["⠚"], 3)
#Other A
self.append_braille_letter("⠼", ["⠼"])
self.append_braille_letter("1", ["⠁"])
self.append_braille_letter("2", ["⠃"])
#Other B
self.append_braille_letter(".", ["⠲"])
self.append_braille_letter(",", ["⠂"])
self.append_braille_letter(";", ["⠆"])
#Other C
self.append_braille_letter("[ch]", ["⠡"])
self.append_braille_letter("[sh]", ["⠩"])
self.append_braille_letter("[th]", ["⠹"])
#Other D
self.append_braille_letter("[OW]", ["⠪"], 1)
self.append_braille_letter("[AR]", ["⠜"], 1)
self.append_braille_letter("[ING]", ["⠬"], 1)
#Other E
self.append_braille_letter("$", ["⠈", "⠎"])
self.append_braille_letter("¢", ["⠈", "⠉"])
self.append_braille_letter("¥", ["⠈", "⠽"])
self.append_braille_letter("€", ["⠈", "⠑"])
BrailleBase allows you to register or edit braille directly through the instantiated object. Since characters are stored in internal dictionaries, any new registration using an existing key automatically replaces the previous value. This makes it possible to add, correct, or update letters, symbols, and tokens at any point during execution, without recreating the class or reinitializing the system.
Convert Text To Braille
BrailleBase is the superclass that centralizes all the logic for processing, organizing, and analyzing Braille databases. All subclasses inherit this logic and provide different output formats.
A)
BrailleBase supports multiple output formats, including:
- JSON -
output_all_json(txt) - CSV -
output_all_csv(txt) - XML -
output_all_xml(txt) - YAML -
output_all_yaml(txt) - Markdown -
output_all_markdown(txt) - HTML -
output_all_html(txt) - TXT -
output_all_txt(txt)
The sequence of data provided in each set is: index, letter, braille, binary, numbering list, unicode, reverse braille, reverse binary, reverse numbering, reverse unicode.
For example, the braille ⠓ produces the following output:
- Braille: ⠓
- Numbering: 1-2-5.
- Binary: 010011
- Unicode: U+2813
- Reverse Braille: ⠚
- Reverse Numbering: 2-4-5
- Reverse Binary: 011010
- Reverse Unicode: U+281a
B)
Additionally, the class provides different types of Braille output:
I Love Braille!
output_braille_txt(txt)
“Standard Braille — this is the traditional braille used for tactile reading.
Each cell represents the raised dots exactly as they would be perceived by the fingers. ⠠⠊⠀⠠⠇⠕⠧⠑⠀⠠⠃⠗⠁⠊⠇⠇⠑⠖
output_braille_txt(txt)
Reverse Braille — this is the mirrored version of standard braille.
This format corresponds to braille writing, meaning the arrangement of dots as they appear when embossed or punched, before being read by touch. ⠲⠊⠸⠸⠑⠈⠺⠘⠄⠀⠊⠼⠪⠸⠄⠀⠑⠄
output_binary_txt(txt)
Binary corresponding to each Braille symbol: a string containing a number from 0 to 63 in binary, representing each dot position used in that specific braille cell, where 0 means no dot and 1 means a raised dot.
C)
At the core of the class is the confidence_test method, considered the ‘brain’ of BrailleBase.
This method analyzes the provided sentence, identifies the most appropriate token, and returns a list of braille cells in the correct order, representing the final conversion sequence.
from braillebaseenglish import *
bbe = BrailleBaseEnglish()
# Complete output
print(bbe.output_all_json("insert any text"))
print(bbe.output_all_csv("insert any text"))
print(bbe.output_all_xml("insert any text"))
print(bbe.output_all_yaml("insert any text"))
print(bbe.output_all_markdown("insert any text", "insert any footer"))
print(bbe.output_all_html("insert any text", "insert any footer"))
print(bbe.output_all_txt("insert any text", "insert any footer"))
# Simple output
print(bbe.output_braille_txt("insert any text"))
print(bbe.output_reverse_braille_txt("insert any text"))
print(bbe.output_binary_txt("insert any text"))
# Confidence test
print(bbe.confidence_test("insert any text"))
-> pip install braillebase 0.2.5
Other -> pip install braille -> Japanese, Portuguese, English, Arabic, Viet
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file braillebase-0.2.7.tar.gz.
File metadata
- Download URL: braillebase-0.2.7.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8635fcd4b1aad44fa27ba60b6ec63a0f24a435215eb8231c74724583b5389ba2
|
|
| MD5 |
1718dedd75cac2b4516919e87f8db6fb
|
|
| BLAKE2b-256 |
d46038bb9229b760c7abe386eb2209ea940296e0b0fc581ab4d5aba82274db70
|
File details
Details for the file braillebase-0.2.7-py3-none-any.whl.
File metadata
- Download URL: braillebase-0.2.7-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d30a20cf6e1d99c66aa38ebae938715165ee609dca15abf352655977bbdf9936
|
|
| MD5 |
4475713316bf3aa88cb9f45d131ab353
|
|
| BLAKE2b-256 |
b35e1e12b147109ce151205584d27f26b6b3470294c4b29d36cac59864f2a237
|