4

When I create a text object in Inkscape, it automatically clips it and adjusts the dimensions of the object so it occupies as small area as possible. This might be useful in certain cases, but in many cases you might want to keep the font size matched while resizing them to a specific dimensions (when two separate text objects with the same font size occupy different heights or lengths).

Or in even worse case scenario, you might want to align two objects with different dimensions (but the same font size) so that the characters are aligned correctly; for example, if one text is "acemnors" and another is "abcdefgh", you cannot align "a" with "a", "c" with "c", "e" with "e", etc., because the first string only contains characters that occupy the middle area, while the second string contains "b", "d", "f", "g", and "h" as well.

Also, if you're trying to leave a margin of a certain distance and different characters occupy a different area, it'll eventually break the margin if you change the text content, or if you add an aligned text that contains different characters.

So, is there a way to get rid of this feature and create a text dimensions of which will contain the kerning so it won't be affected by the characters it contains? For example, LibreOffice Draw does this by default (see the pictures).

Inkscape

Vs.

LibreOffice Draw

  • 1
    Further information can be found in this thread. – Giorgi Gzirishvili Oct 27 '15 at 4:18
  • Not sure why you are talking about kerning in the last paragraph. if you have a 2nd problem beside the different bounding box heights, could you please explain it? – Socowi Sep 29 '16 at 17:57
1

It is not possible to make the bounding boxes bigger such that the text objects fgh and aeu have the same bounding box height. However, you can align text objects on the text baseline, which should solve your problems.

snap to baseline Snap to baseline
This snapping option helps you when moving text manually. The baseline will snap to grids/etc. (depending on the other snapping settings). Watch out for your text alignment. The snapping point will be on the left-hand side for left-aligned text and on the right-hand side for right-aligned text.

align by baseline Align by baseline
Select multiple text objects and align them horizontally or vertically. You are probably interested in the lower button, which aligns the selected text objects as if they were written in one line.

distribute by baseline Distribute by baseline
Select multiple text objects and distribute them evenly along the x or y axis. You are probably interested in the lower button, which evenly divides the y-space between the baselines.

The following picute shows where you can find these buttons.

align text by baseline

0

I just opened up Inkscape (I rarely use it) and text objects resize with their containers as you want. Try clearing or resetting your configuration in .inkscape. (I can't comment or else I would have.)

  • That didn't solve the problem; it still behaves the same way. – Giorgi Gzirishvili Oct 27 '15 at 0:43
  • In that Inkscape is a graphics and drawing program and not for text/structured diagrams, the only way I can see to relatively simulate this is to group (multiselect) objects and resize them together. Moreover, why not create text objects in Draw and import them into Inkscape? – cat Oct 27 '15 at 0:51
  • Resizing together solves only the first part of the issue; however, there are some other issues described in my question. Regarding the importing objects from LibreOffice Draw, yes, this might work, but it'll take more time and effort. Moreover, I'm looking for a solution for Inkscape (if there's any). – Giorgi Gzirishvili Oct 27 '15 at 1:02
0

I don't really see the problem.

In most cases you may align at the bottom, else at the top, or combine both texts as one.

However, in some remaining cases you might use a trick: Insert the biggest character(s) from the smaller textarea as a 100% transparent character in the bigger one. Align them.

sample image with much, not 100% transparency Sample image with much, not 100% transparency

Now you can group them and delete the transparent character, if it is disturbing in other relations.

Of course, if you delete the transparent character though, you needn't make it transparent. That might be useful if you have to realign the texts over and over again.

0

There is no way to change this functionality in Inkscape. As you have noticed, Inkscape's typography options are very limited. There are a few ways to work around it.

  • Use a text flow instead of a normal text (using the Text Tool, click and drag to add a text flow box). You can make text flows the same size. (I generally avoid text flows because different SVG viewers may not display them as you'd expect)
  • Create temporary objects. For example, make a rectangle of the height you want, duplicate it, and align and space those rectangles--then align the text to each rectangle.
  • Convert text to paths. You'll lose your text info, but sometimes, this is easier than trying to work with the text element.

I personally create temporary objects for alignment purposes a lot. It's often easier to get them into the correct position, and then use them to align other objects.

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.