I am trying to create a font in Malayalam ( India ). I have all the necessary Unicode characters with a uniform size in 142 SVG files. I tried to create font through Icomoon and many other services. None of them worked, probably because I used a pattern to fill the letters. It doesn't work means, whatever I type in Malayalam in Inkscape, GIMP and Libre Office Writer, appears very plain instead of my dotted style font.

I then tried an npm based tool which can create Inkscape symbols just like Open Symbols for Inkscape. Now I am able to use them as symbols inside Inkscape. Is there any method to convert the SVG files or SVG sprite to OTF or TTF ? Thanks.

PS : I tried a couple of similar question here, very different from mine.

  • 2
    Your approach probably failed because fonts can't have patterns or fills. They are simply made of outlines. – Billy Kerr Apr 18 at 9:44
  • In fact, it was your advice from another question. I am not trying to put blame on you, but I have seen many dotted fonts. So I followed the " objects to pattern " and fill using" pattern ". – user227495 Apr 18 at 10:41
  • Is there any workaround ? Some method to create dotted fonts ? – user227495 Apr 18 at 10:43
  • A font must have outlines only. There is no work around really. Fonts with dots inside must have the dots converted to outlines - not patterns, not fills. This has nothing to do with Inkscape really, and Inkscape is not font design software anyway. – Billy Kerr Apr 18 at 12:36
  • If you want to create fonts, I suggest proper font creation software, such as FontForge, which is free. – Billy Kerr Apr 18 at 12:44

Only a workaround (a complex one) and it's well possible that too complex patterns cause something unexpected:

enter image description here

  1. The red shape should be actually black and filled with a pattern. A large enough piece of the pattern is made as tiled clones. Actually a preset fill pattern is released by applying Object > Pattern > Pattern to Objects and the result is tiled.

  2. The tiled clones are Unlinked to individual objects, ungrouped and combined with Path > Union. A copy of the red shape is placed on top for the wanted fill placement. See NOTE2!

  3. Path > Intersect is applied to remove the extras. It's useful to duplicate the red shape before it because it's needed another time at exactly the same place in step 4.

  4. The red shape is converted to path (Path > Stroke to Path) because generally fonts cannot have strokes, only filled paths. Overlaps at the edges occur. They can be removed by making an union. I do not actually know what overlaps cause, so I recommend you to avoid them.

NOTE1: it's practically impossible to place the red shape right after it's no more a stroke, so be sure it's placed before applying Stroke to Path.

NOTE2: If the result after steps 2 or step 3 needs some edits, for example removing harmfully splitted shapes in the fill pattern, it can be useful to explode the combined path by applying Path > Break apart, but that will cause a mess if there's subshapes which have holes. So, be sure that the shapes are ok before the union is made.

I tested what Illustrator says of PDF which is made of pattern filled SVG. Inkscape didn't make anything useful of it. In Illustrator it was possible to convert the PDF in Illustrator to the same as what's seen in image 2. I guess It's not especially useful.

| improve this answer | |
  • could you try to attend this question by me. It is my request for a method to create a dotted font. Looks like spend the whole day based on a wrong method. graphicdesign.stackexchange.com/questions/135007/… – user227495 Apr 18 at 12:46
  • I don't mind beginning from scratch. I already have a base font which I would like to modify into a dotted font. Thanks. – user227495 Apr 18 at 12:52
  • 1
    @user227495 the linked old question graphicdesign.stackexchange.com/questions/135007/… has got an anwer which suggested to make dotted WRITINGS by converting text to path and by filling those paths with a dot pattern. It works perfectly in making texts in Inkscape, but as you have noticed, it's less useful in programs which convert paths to glyphs to be used in a font. Try Inkscape's own font builder which makes SVG fonts. It can accept your pattern-filled shapes, but I do not know it well enough. FontForge converts SVG fonts. – user287001 Apr 18 at 15:53

Ok, gonna attempt an answer now. Inskcape is not font creation software, however you could use it with icomoon. They key here is that fonts must be outlines. They can't contain patterns or fills, or rather I should say these will simply be ignored.

What I suggest you do is this:

  1. Enable the grid, and Snap to grid, and Snap bounding box corners.

  2. Draw one circle aligned to the grid, and copy and paste repeatedly to fill an entire row. Select the row, copy and paste it, position it. Select all, copy and paste and repeat, until you have a full rectangle of dots big enough to contain your glyph.

enter image description here

  1. When you have finished, you can make the dots bigger by selecting them all, then in the transform panel, scale them up by a percentage, using the option "apply to each object separately".

  2. Here's the result of that - a complete rectangle of dots, with circles enlarged. At this stage save the SVG, and you can use this grid for making other letters in future.

enter image description here

  1. Draw your letter form, or type one, and move it to the bottom of the stack. Fill it with a colour so you can see it.

enter image description here

  1. Manually delete the dots, leaving only those inside the glyhp.

  2. When you have finished, delete the typed/drawn glyph leaving only the dots. The result is a glyph made of dots.

enter image description here

  1. Select all the dots, and do Path > Combine. This will combine all the dots as one single path.

  2. Finally save your image with a new file name (so you don't overwrite the grid SVG you saved earlier), use the "Plain SVG" file type, and finally upload it to icomoon.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.