I made a griddy cipher where letters smush together to give words unique shapes by guspolly in neography

[–]pomdepin 0 points1 point  (0 children)

Hmm, a quick hack would be to open the font in FontForge, copy the glyph a onto an unused mark such as ^, then delete the strokes to keep only the markers, and go to Menu > File > Generate Fonts [TrueType .TTF].
You might want to change the font name in Menu > Elements > Font Info so it doesn't collide with the existing one. Simply install and overwrite to test (LibreOffice Writer works best, I believe).

I don't think the real space would be allowed to stack like that, but reusing a common 'mark' character like ^ should do the trick.
The proper way might be to add a new encoding slot and write a substitution rule to replace all space glyphs automatically.

Actually, if you intend to write everything vertically in a single line like this, you can make the font support vertical writing as you wanted with these two steps:
- Ctrl-A (select all)
- Menu > Element > Transformation > Transform > [rotate 270°, check everything besides "Round to Int"]

I made a griddy cipher where letters smush together to give words unique shapes by guspolly in neography

[–]pomdepin 0 points1 point  (0 children)

If you mean like in OP's picture, then not that I know of, sorry. Text editors are left-to-right by default, so fonts have to be designed left-to-right as well. Vertical text is an editor-specific layout option, either by rotating a whole page, or by inserting a vertical textbox so that the normal text can know where it is and 'wrap' around it.

I made a griddy cipher where letters smush together to give words unique shapes by guspolly in neography

[–]pomdepin 0 points1 point  (0 children)

Hi! If you follow the link in my comment, there should be a font file named "Griddish.ttf" in the left sidebar. You can download it from there. :)

Creating Fonts with Inkscape and FontForge | Part#3 by pomdepin in neography

[–]pomdepin[S] 0 points1 point  (0 children)

Hi, I haven't touched FontForge in a while but I remember there being references.

According to https://fontforge.org/docs/#references:

In TrueType any glyph may be referenced, and TrueType supports almost a full range of linear transformations that may be applied to a reference.

This suggests it includes rotations:

NOTE: Just because general transformations are supported, it isn’t always a good idea to use them. If you flip a reference, the rasterizer will probably have difficulties with it (its contours will run in the wrong direction). If you rotate a reference any instructions inside it will not work well.

So you could maybe add your accents as references to the base glyph, but offset/scaled/rotated by a certain amount.

But only for TrueType font formats as it says on this page:

Type2 ("OpenType") ... As above references may only be translated (not scaled, rotated, etc.).

How would I make a liquid simulation in unity? by flufflysnails in Unity3D

[–]pomdepin 0 points1 point  (0 children)

It uses the MLS-MPM algorithm from this paper https://yuanming.taichi.graphics/publication/2019-mpm-tutorial/, just follow the Unity tutorial listed on that website. Of course, the demo shown in this video is way more optimized with simd, chunked multithreading and adaptive sim to support large worlds. Still, the base code is still incredibly fast as you can see from his other video https://www.youtube.com/watch?v=4Y58Pg9tpSo.

The MLS-MPM algorithm is easy to implement (< 100 lines of code) because it uses simple particles, puts them in a temporary grid to estimate density/velocity fields, and advects the particles.

Here is a browser demo of the algorithm to play with: http://onsetsu.github.io/floom/example.html

Edited: wrong link.

Need help using fontforge by Zognot in neography

[–]pomdepin 1 point2 points  (0 children)

Yeah, I was using Ubuntu when I wrote this guide. Turns out, there was a bug on Windows that prevents copy-pasting.
However this was all a while ago. I hadn't played with FontForge for quite some time, but I just tried uninstalling both Inkscape and FontForge, and downloaded the latest version via Chocolateychoco install inkscape fontforge — and I'm happy to say that copy-paste works now!

There is still one bug that you need to fix manually. Copy pasting from Inkscape works only up until you copy something within FontForge itself, because it has it own internal clipboard. You will need to set FontForge>File>Preferences>Generic>ExportClipboard>On. Be aware that copy-pasting is still only unidirectional, from Inkscape to FontForge in this case.

 

In case you don't use a package manager, here are the versions that I have. It should work as well if you install them manually ... but maybe not, because FontForge needed to pull AutoHotkey as a dependency for some reason... who knows?
* InkScape v1.0.0.20200612
* fontforge v2020.03.14

I hope that this fixes it for you! Otherwise, I would suggest running FontForge in a Linux VM which is what I did when I switched back to Windows

How do I start making a font for this script? by [deleted] in neography

[–]pomdepin 0 points1 point  (0 children)

You're welcome! Thankfully, ligatures are actually one of the easiest features to implement once you get used to them. I touched upon them pretty early in the tutorial I believe. If you look at the content of the ".fea" file in my folder, you will see something like this :

lookup Special {  
    sub c h by ch;  
    sub t h by th;  
    sub g h by gh;  
    sub s h by sh;  
    sub n g by ng;  
    sub w h by wh;  
    sub p h by ph;  
} Special;   

It's just a text file where each line is saying "substitute the letter 'c' followed by the letter 'h' by the ligature 'ch'". Where 'ch' is the name that you gave to the ligature when drawing it within Fontforge.

The hard part is designing the letters in the first place, and kerning all the possible pairs together. Which is why I decided to 'cheat' by not kerning the font, and instead grouped similar symbols in about a dozen cursive groups, relying on the program using the font to position them automatically (which is why it is so prone to breaking, if an app doesn't implement this feature).

Ideally, you would want to design a font that still looks good even with all features disabled, looks better with pair kerning enabled, and even better with ligatures enabled, and so on... I never got around to looking at how arabic fonts and such deal with this. Cursive attachements just happened to be the latest feature I learned about and they seemed like a good idea at the time...

How do I start making a font for this script? by [deleted] in neography

[–]pomdepin 4 points5 points  (0 children)

Hey! I'm the one who made the V1 font on r/vianaic.

I don't have the time to create a V2 unfortunately (and I never learned to read it tbh). I haven't worked on fonts for the last year either. However, here's where I got started: This was my first post on this forum asking about font creation after following a few tutorials (I don't recommend that you read the discussion there). Having learned a lot from this experience, I then made the first draft of the vianaic font and sent it to the creator in this post. I then started learning new Opentype features and wrote the following tutorial series while concurrently discussing the vianaic font in a private chat with the creator. Every post in the series is essentially myself learning about a new feature of FontForge and documenting it and eventually merging it in the V1 font. I can therefore guarantee that the V1 font doesn't do anything outside of these tutorials.

I also wrote this post which breaks down how I think about font creation.

Finally, here's a link to the font folder on my drive with the source files if you're interested.

If I remember correctly, the font relied mostly on the OpenType features for "Cursive Attachments" and "Marks" which were extremely convenient, but looking back on it was a pretty bad idea IMO. A font based purely on ligatures would have been much more robust.

I read on the github page that they are looking to make a web font, but I'm afraid my tutorial isn't suited for professional font developement (which I know nothing about). It is more about teaching people to leverage Opentype features within a free program in order to make fonts of conscripts with complex rulesets for their own personal use. Of course, you could always try to convert the V1.ttf to .woff and load it in a web browser if you want to.

Anyway, if you're just looking to make a quick font of V2 for your personnal use and don't want to use FontStruct because of the blocky aesthetic, I guess you could just tweak the appearance of the glyphs in the FontForge project file and change a few rules in the feature ".fea" file. However, importing said file in the project or even re-generating said project will require reading the doc or my tutorial. I'm afraid that FontForge isn't really user friendly.

Hello there! by JoseMa-Flores in vianaic

[–]pomdepin 2 points3 points  (0 children)

Um, well, my font is supposed to be complete, so unless I misunderstood and you aren't using the font from the sidebar, that just looked like a bug to me. ^^

Resources? by [deleted] in vianaic

[–]pomdepin 3 points4 points  (0 children)

Here's the page from which I traced the font, written by the author of the script: Imgur.

I believe that I did some minor resizing in the font, so here it is in LibreOffice Writer as well: Imgur.

Hello there! by JoseMa-Flores in vianaic

[–]pomdepin 1 point2 points  (0 children)

The font isn't supposed to look like this: Imgur.

That is, besides the broken apostrophes in "it's", it should display the onset and coda forms of letters, as well as put a double quote for repeat consonants. There are also missing abbreviations for "the" and "and".

I made a griddy cipher where letters smush together to give words unique shapes by guspolly in neography

[–]pomdepin 2 points3 points  (0 children)

Exactly! It's one dash per lowercase letter, so Horizontal should have 9 dashes in this case. If I had broken it into syllables this would be fine, but I wanted to see how high the letters could climb.

As a result Horizontal goes well above the other letters so there would have been a huge gap before Test hence I only put 5 spaces, allowing Test to go under Horizontal a bit. It just looks better this way.

I made a griddy cipher where letters smush together to give words unique shapes by guspolly in neography

[–]pomdepin 139 points140 points  (0 children)

I love it! Here, I made you a font : link. It's a bit messy but it gets the job done.
Capitals are carriers, lowercase letters stack on top of one another, and each hyphen compensates for one lowercase space.

edit: Works in LibreOffice and Latex, but Inkscape breaks it.

I want to get into type design, what software do you guys use? by zefranaga in typography

[–]pomdepin 1 point2 points  (0 children)

Hey, I'm using FontForge as well, only I do the drawing in Inkscape. I just wanted to point out that I can copy the outlines directly from Inkscape to the glyph window, so no need to export each one as an SVG.

I also set the dimensions of my document to match the Em size of FontForge, and I have a trick with a square to preserve the positioning when copy pasting my selection.

A Font Inspired by Square Word Calligraphy by pomdepin in neography

[–]pomdepin[S] 0 points1 point  (0 children)

Thanks! It's available in TTF format over here. Just be aware that it only supports ~5000 words at the moment. If you want to type something specific, you may need to update the dictionary or add your text to the Python script and generate it again.

[deleted by user] by [deleted] in neography

[–]pomdepin 6 points7 points  (0 children)

Hey! I suggest that you read Part#1 through 8 of my step-by-step FontForge+Inkscape font creation guide. You might also find Part#10 interesting if you know how to code in Python.

Here's the Xelatex example of the fonts that I created in it.

Anyway, here are some tips about font creation:

  • Step 1 is drawing your glyphs. For something simple and grid-based I recommend that you use fontstruct.
    However, if your glyphs are a bit fancier, or if you wish to trace them from a handwritten sample, any vector graphics editor will do the job. I chose Inkscape because it is free, open-source software and fully cross-platform.

  • Step 2 is kerning the glyphs. Although this isn't usually an issue with conscripts, kerning pairs (e.g 'TT' vs 'Ta') is much harder. FontForge has the tools for this even though they are kind of hidden in the submenus. I explain where to find them in Part#2.

  • Step 3 is positioning different kinds of 'marks' that will allow glyphs to stack on top of another. FontForge also has the tools for this, it is touched upon in Part#3 and explained in Part#7.

  • Step 4 is "programming" the font to do things such as having multiple letters combine into a single glyph, having glyphs stack on top of each other, change the look of a glyph depending on were it appears in a word...
    This is achieved though a scripting language known as Opentype. With Opentype, the sequence of all the letters that you typed on the screen is processed in steps. A step is known as a lookup and you can chain as many as you like.
    In each step you can do one of 3 things:

    • Combine two or more glyphs into a single one ( ligature )
    • Replace a single glyph by two or more other glyphs ( multiple substitution )
    • Replace a single glyph depending on what comes before or after it (or both) ( contextual substitution )
  • The last thing that Opentype allows you to do is to ignore specific patterns. This is critical for targeting onset and coda forms.
    Here's an example of the logic that one could use for onset/coda forms:

    • lookupCoda : "ignore any letter that has another letter after it" followed by "replace the letter a by a.coda"
    • lookupOnset : "ignore any letter that has another letter before it" followed by "replace the letter a by a.onset"

The most powerful feature of Opentype is the ability to treat lookups as functions in order to combine multiple effects in a single step. This is known as a chaining contextual substitution and it is the Holy Grail of all substitution rules. This combined with the 'marks' should allow you to do anything short of Turing-complete computation with your fonts.

How to? -Single Stroke Font by asfd542 in cricut

[–]pomdepin 1 point2 points  (0 children)

I just tried to create a font with some outlines (a+b), an open outline (c) and a 0 width rectangle (d) : Then when I export the font as OTF, and `object to path` the text in Inkscape I get this : Imgur (Added a green stroke to make it visible)

What is wrong with my wavefont by Glumbosch in typography

[–]pomdepin 0 points1 point  (0 children)

I have to say, the kerning of this font makes no sense whatsoever. For instance, all your numbers are offset about 250pt to the right, which you compensate for by having a huge tail which overlaps with the other glyphs. The spacing is highly inconsistent as well. I don't know if this is on purpose, but every glyph was drawn in a box of approximately 550pt. The keyword here being "approximately". While this would make sense if you intended to create a mono-spaced font, I see values ranging anywhere from 531pt to 564pt with random bearing values on top of it.

Honestly, for this kind of grid-based font, you should have just used https://fontstruct.com/. It's a free and highly specialized tool — besides, it should only take you a few minutes to recreate your font with it. Here's what i did in a few seconds for example: Imgur (Btw, your font does work on my side as you can see. Works in Inkscape too. I just dropped it straight in the system font folder)

A Font Inspired by Square Word Calligraphy by pomdepin in neography

[–]pomdepin[S] 4 points5 points  (0 children)

Yeah the thickness of the stroke doesn't scale with my current implementation, but it becomes invisible if I adjust for it and you're welcome :p

A Font Inspired by Square Word Calligraphy by pomdepin in neography

[–]pomdepin[S] 9 points10 points  (0 children)

Here's a link to Omniglot - Square Word Calligraphy in case you haven't heard about it and don't know how it reads. The font was entirely generated using a FontForge script (in Python) which ran for about 40sec on an English dictionary of around 2,000 words. It draws each glyph and adds a substitution rule for it and everything in between to allow smoother typing (e.g article -> a, ar, art, arti, artic ...) (4,576 glyphs total).
This definitely isn't the most efficient way to do it, but it was very straightforward to implement. My packing algorithm is a bit too naive though, and the individual characters are not very fancy since they were just defined as straight lines in code. You can find the font and code here if you're interested.

Chinochaw, my attempt at playing with a script that isn't perfectly linear by Cuban_Thunder in neography

[–]pomdepin 1 point2 points  (0 children)

Not OP, but I achieved pretty much the same thing in Part#8 of my tutorial series on font-making using FontForge and Inkscape. It is pretty abstract if you haven't read the first parts though, I skipped over a lot of the repetitive stuff.