baseline grid(s) for flowed text

Bug #171652 reported by dcberg
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Inkscape
Invalid
Wishlist
Unassigned

Bug Description

it would be great, if one could align text to a document baseline grid when
it is flowed in boxes.
A baseline grid is just like lined paper. No matter, if you wrap around an
image or move a box, the text will always be written on the lines of the
paper. This gives layouts a much nicer appearance.

Unfortunately I don't have a clue, so far, how to implement this.

Revision history for this message
Bug Importer (bug-importer) wrote :

i think this feature can be implemented defining a "master-guide-line" at
top (or bottom) of page, this guide-line should than be
"automatically-duplicated" to cover all the page.
the main problem is that text-boxes can't automatically align to a
guide-line at bottom of text (for example: if there's a "c" and a "g", the
attachment should be at bottom of "c", not at bottom of "g") but, for now,
it's align at the "text-box".

the attachment of a text to a guid-line at bottom of text (and not at
bottom of it's box), however, is a feature that i think should be a
"must-have" (obviously before and inipendently-of the one in this item).

actually, the feature can be manually achieved adding a "manual
guide-line", zooming a lot, manually align text-boxes.
i must agree with the submitter, i think the "baseline-feature" will be a
must-have feature, useful for a further step in "professional-level"
instrument. i suggest, that "baseline" (if implemented) should be turned
on/off for a text-box.

-- Pierangelo

Revision history for this message
dcberg (david-sipsolutions) wrote :

Originator: YES

Well, actually, as you know from text on path, the baseline is defined for
each font, so the problem doesn't lie there. The problem is the flowed
text. If each line was a text object by itself, one could put each line on
guide. However, I don't think that's a good idea.
Also I'm not sure, you get the concept right. The alignment to baseline
grid is _independent_ of the box, the text is in. It is especially useful,
if you have text of different sizes in one text box or have text that is
wrapped around images (see another RFE about this), because it ensures that
if you have two text boxes, the baselines of each and every line will be
aligned to the ones in the other box. This gives a much nicer look.
Of course, the feature is a paragraph feature. it should be turned on and
of for each paragraph.

Revision history for this message
Bug Importer (bug-importer) wrote :

i know you're right...

to be onest i was not thinkin' of a full base-line support (the greatest
dream), but a more-simple to be coded (i think), but yet very poweful and
useful, feature: the alignment of more than one text-box where the text in
each box is assumed to be identical (inside), in size an line-height,
(inside each box, and may be different between a box and another).

in this way, the vertical-displacement to apply to each box can be easily
computed... and a basic base-line can be added almost immediatly...

--pierangelo

nightrow (jb-benoit)
Changed in inkscape:
importance: Undecided → Wishlist
Ryan Lerch (ryanlerch)
Changed in inkscape:
status: New → Triaged
Revision history for this message
Bertrand Petit (bp-lp) wrote :

Maybe the easiest way for users to use this important feature would be to add a baseline anchor for each flown line, even empty ones. It would also be worthwhile to add a "Snap to flown baselines" check in the document propertie's "Sanpping to special nodes".

Changed in inkscape:
status: Triaged → Confirmed
Revision history for this message
dcberg (david-sipsolutions) wrote :

Hmm, baseline anchor sounds good :-)
However, cannot find much on this in the specs on a quick search. I mean, can you set the baseline absolutely?
Once the baselines themselves work, the snapping is just a very easy addition (says somebody without programming skills), because you can just use the "grid" option to create a grid that is aligned with the baselines. This can happen automatically.
Still, can you please elaborate on how you want to make the baselines work?
Thanks!

Revision history for this message
Bertrand Petit (bp-lp) wrote :

David,

The vertical offsets of the baselines of a TEXT or a FLOWROOT element are a function of the metrics of the used fonts. The first baseline is at the (0,0) coordinate in the font design space (see SVG 1.1 section 10.3). The next baseline position is offset by the largest of the advance heights of the fonts used on a line. This process is repeated for all the lines of the lement. Of course all of this is subject to SVG's baseline alignment properties (SVG 1.1, section 10.9.2).

To make this clear I've done a little illustration showing approximately the locations of the expected snapping point on a sample flown text. (See the attached Baseline.svg file.)

Revision history for this message
grey tomorrow (gtomorrow) wrote :

Closing because INVALID.

See https://gitlab.com/inkscape/inbox/-/issues/2404 for further clarification.

If you feel this issue has been unjustly closed, please feel free to open a new issue at https://inkscape.org/report . Thank you.

Closed by: https://gitlab.com/greytomorrow

tags: added: bug-migration
Changed in inkscape:
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.