Comments (13)
We have put the project under the MIT license today.
from stiefogen.
from stiefogen.
Ahh now I understand! Thank you for the detailed explanation, your ideas for loops and all that stuff are pretty clever!
I didn't even know that the strike-through ones exist... (just looked it up in the Aufbauschrift II documentation), for now I only know the symbols from Aufbauschrift I which I already implemented in the app. It will take some months until I'm ready to implement Aufbauschrift II, I think...
I run the interactive script last week and it's pretty amazing, very cool to try things out and to understand the code! I heard that a user of my app also uses your script to generate word images/pages for practicing reading and writing.
All the symbols which are green in the app are made in Inkscape (with the images from stiefo-kompakt.de as templates), then imported into Android Studio as VectorDrawables (like SVG for Android). All the other word images are directly from stiefo-kompakt.de, Thomas Reinartz allowed me to integrate them. 667 bitmaps...
Now my dream is that all the drawables and images in the app (even the seperate symbols for the consonants table) will be generated in real time, that would make the app much smaller and the resource management a lot easier.
from stiefogen.
Hi, thanks for reminding me of the license issue. I’ll need a little time to fix this, because the basis was created by two other people – Andreas Hofer wrote the generator for Grundschrift and came up with the infrastructure for drawing curves from text, and Andreas Martin added the Aufbauschrift 2 symbols.
Andreas Hofer didn’t mind sharing the code back then when Andreas Martin and me put it on github. But I’ll check back with both of them.
I’m currently in a cleanup and extension process and hope to finish Aufbauschrift 2 and ASCII “Stiefo-code” soon. I already had a brief look at generating SVG (from Python). It shouldn’t be that hard, because you “just” need to plug in the output from symbols.py
in SVG path
s (C
curves).
from stiefogen.
Great stuff!
Just to explain: The reason I'm interested in experimenting with WASM is that it is much more portable than Python. There are runtime bindings for many languages, therefore it would be easier to use this logic on, e.g., the web, or Android.
But thanks for responding so quickly! I'm curious to see how it all turns out.
from stiefogen.
Hi @effjot , hi @AndreasMartin72 ,
I was thinking about using this project to implement a Stiefo generator in my Android app Stiefo.
I know it's not easy because I need to rewrite it in Java and Android paint/canvas and probably convert the coordinates to be upside down (the Y axis is inverted in Android, I think it's not in Qt).... or maybe I can flip the whole bitmap after generation.
I would mention stiefogen as well as you and the other contributors in the about section under open source libraries. For other libraries, I'll show the respective license, if your project doesn't have one, I'll just write that the authors explicitly agreed to use it.
Do you agree with this? And does Andreas Hofer (according to the README the main author?) also agree with this or how can I reach him? I haven't found anything about him or his work beside the mention.
Thank you for your great work :)
from stiefogen.
Hi,
thanks for reaching out to us! I had a look at your app quite a while ago and really liked it.
The last few weeks have been crazy busy, so I forgot to have a look at the license issue. I had a look at the license overview @y0hy0h mentioned. I think MIT license should be fine, and we’d be happy if you’d mention the authors in your app.
I’ll confirm the license with both Andreases to be sure, but I guess they are ok with it. Andreas Martin already wrote a message here in this issue, and Andreas Hofer told us we are free to upload his code to Github back then.
from stiefogen.
@patzly
Also, which system level are you interested in? For Grundschrift, you might want to go back far in the commit history (I’d suggest 37b04ed), for Andreas Hofer’s simple code. The master branch already contains some parts of Aufbauschrift I and II that Andreas Martin has implemented, and some further changes by me, so symbols.py is already more complicated.
If you’re interested in Aufbauschrift, we should discuss further, because im still working on it, including a way to encode it in ASCII. (Grundschrift is simple to encode, but Aufbauschrift has more Glyphs, vertical spacing, strike-through outlines etc.).
Also, I guess the drawing itself and flipping the axes shouldn’t be that much of a problem. Converting symbols.py to Java might be more difficult. ;-)
from stiefogen.
Thanks a lot, that's great! It will take some time to implement that whole thing so no hurry :)
But I think it's appropriate to ask the other authors before officially applying the MIT license (which I think is a good choice).
First I'll take care of implementing the Grundschrift, that's most important (thanks for the commit suggestion!). If that goes well and I have enough time, Aufbauschrift I is the next step.
This ASCII thing sounds interesting, what exactly do you mean with it? For typing texts on a keyboard with a "stiefo typeface" like a ttf font file?
I'm excited about the work with symbols.py ;)
from stiefogen.
no, the “ASCII Stiefo” is a way to encode Aufbauschrift. Grundschrift could basically written “as-is”, e.g. the input word „der“ is parsed into the letters d e r
(parse.py), which is the decomposed into glyphs (consonants) and the vowel connections in symbols.py, which finally constructs the Bezier path that is rendered by render.py.
The word „Stein“ would be parsed to st ei n
. This is done by Andreas Hofer’s code for Grundschrift almost automatically (it needs a dictionary for e.g. where it gets breaking into single sounds vs dipthongs wrong).
Aufbauschrift is much harder to parse into tokens, because that would need understanding of grammar and meaning (i.e. linguistic AI) and is not my main goal. I want to write a computer-generated / online dictionary of Aufbauschrift outlines and abbreviations, so I need to encode Aufbauschrift outlines into “simple” ASCII which can be stored easily, and which symbols.py can be convert to Bezier paths.
Examples:
„ist“ is abbreviated by a t in i position. I number positions from 0 (half-step below i) over 2 (baseline / e) to 4 (ö), so „ist“ is encoded as 1t
. „Hatte“ (t in a position) would be 3t
. Prefix „fort-“ is also abbreviated by t in i position, so „fortsetzen“ would be 1t s e z
.
Aufbauschrift has loops. I encode the CCW loop by @
, so „sonder“ (which is written als half-step loop on the baseline with an o) can be encoded as 2@1 o
. The number before is the vertical position (like in the example with „ist“), the number afterwards is the size in half-steps. „Sonst“ is a one-step loop in o position: 1@2
. „Nach“ is a point-loop, encoded as size 0: 3@0
.
For laughs, „Ungetüm“ is 0d / 1m4
.
Of course, all the prefixes, suffixes, stems, and words that are defined in Aufbauschrift I and II get convenient aliases, so you can write ist
or sonder
or auf n e m
, endlich
etc.
A bit complicated are disjointed / strike-through forms like „fach“, „falls“, „bar“. You can put any outline in curly braces, followed by an offset in parens to create those, e.g. d e n {a r keit}(-0.25,0)
for „Dehnbarkeit“.
It’s not finished yet, and I’m not always happy with my choices, so the details still may change. You can see the definitions in symbol.py it in the aufbauschrift-2
branch. It’s all a bit ugly.
When you run render_on_screen.py, you’ll get an interactive playground to test the encodings and outlines.
from stiefogen.
btw, how did you create the symbols that are in your app already?
from stiefogen.
Have you improved the symbols of the Grundschrift yet after 37b04ed
or have they remained untouched so far?
from stiefogen.
I made some minor adjustments to the spacing of „i“ and to the shape of R, F, K, L (rounded bottom part) and J, NG (steeper).
I have put the tag aho-grundschrift
onto 37b04ed and added a branch grundschrift
to the most recent purely Grundschrift code. This includes changing to PyQt5 (instead of the now obsolete PyQt4) and little improvments to the interactive window.
You can see the changes here: aho-grundschrift...grundschrift
Maybe we should open a new thread/issue here for further discussion of this?
from stiefogen.
Related Issues (4)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stiefogen.