semvec/pypi-packages huggingface dataset:
saqqarah 1.0.1
Calculation pyramid generator
Requires Python: >=3.6
Keywords: mathematics,addition,pyramid,school

# Saqqarah

## Description
This little software creates calculation pyramids puzzles (mainly addition).

![Screenshot of Saqqarah with the clickodrome UI](screenshot_2020-06-06-010211.png "Saqqarah")


Principle for addition pyramid:
Boxes should contain numbers, if a box is on top of two boxes it contains 
the sum of the two boxes below.

### Exemple of Saqqarah run
![Exemple of pyramid puzzle created by Saqqarah](pyramide-Puzzle.png "Puzzle")

### With solution
![The solution created by Saqqarah](pyramide-Solution.png "Puzzle")

## Features
- Window (Qt5 Based) interface or command line interface, at your preference
- Output modes: 
  -- image, with as default png format (others format are possible: see the Python Image Library PIL documentation)
  -- Tikz code (for inclusion in latex documents)
- Choice of size of the pyramid.
- Choice of numbers range for the base line.
- Choice of seed for the random generator This allows you redo the same pyramid multiple times.
- Choice of difficulty level.
- Choice of resolution (ignored in tikz mode)

## Warning
If you choose an important size, 10 or more, the creation can be long: saqqarah looks for solution randomly until it find the wanted difficulty.


## Usage
    saqqarah -h
give you a brief summary usage
bmtext 0.0.2
Render text from BMFont bitmap fonts.

# BMText

Render text with [BMFont](https://www.angelcode.com/products/bmfont/) generated bitmap fonts.

**Status**: The core of this code is reasonably well tested, but it's at an early stage, it's basically just been thrown up online, and you use it at your own risk.

## Why???

I wanted kerning, and I wanted support for a widespread bitmap font format. BMFont is used to generate bitmap fonts from Truetype fonts, and the format it uses seems reasonably well supported.

I have vague plans to extend the format slightly to allow pre-rendered glyphs - so characters could
be multi-colored or embossed, for example.

## Using it

Install it with:

```bash
python -m pip install bmtext
```

Currently the API matches ImageDraw.text as closely as possible (given the limited feature-set).

```python
from PIL import Image
from bmtext.meta import parse_file
from bmtext.pil import BMText

im = Image.new('RGB', (320, 180), color=(160, 160, 255))
drawer = BMText(im)
font = parse_file("tests/fixtures/raleway-30/raleway-thin-32.fnt")
# FIXME: Overlapping glyphs remove part of previous char.
drawer.text((5, 5), "Antidisestablishmentarianism\nThorough\nSHOUTING!!!\nTomato?", font, fill='blue')
im.show()
```

![Sample of rendered text](https://github.com/judy2k/bmtext/blob/master/assets/rendered_text.png)

## To Do
* FNT Compatibility:
    * Handle binary font metadata formats.
    * Test with multiple pages
    * Multiple channel support
    * Outline support (2-pass rendering)
* Improve error handling:
    * Malformed fnt files
    * Missing characters from font (replace/error)
* Features:
    * Allow arrangement of pre-rendered characters (rather than single-color alpha characters).
    * Implement textsize
    * Implement alignment
    * Implement anchor
* More testing:
    * Test with older versions of pillow
* Port to Python 3.5+ (remove the walrus operator)


## Developing

Run the following to install the project (and dev dependencies) into your active virtualenv:

```bash
pip install -e .[dev]
```