Re: The joy of Typography

Liste des GroupesRevenir à col misc 
Sujet : Re: The joy of Typography
De : 186283 (at) *nospam* ud0s4.net (186282ud0s3)
Groupes : alt.folklore.computers comp.os.linux.misc
Date : 19. Oct 2024, 00:59:27
Autres entêtes
Message-ID : <m5WdnT5nxKH9a4_6nZ2dnZfqn_udnZ2d@earthlink.com>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0
On 10/18/24 5:15 PM, Lawrence D'Oliveiro wrote:
On Fri, 18 Oct 2024 18:44:26 GMT, Charlie Gibbs wrote:
 
I wrote some routines to generate my columnar reports in PDF.
On the whole it worked fairly well, but I never found a way to
right-justify a field.  Then it became a pain in the ass.
 You mean “right-align”, not “right-justify”. Here’s a routine that
does alignment of text within a given line width, based on the current
point, using the current font settings. It can do left-align,
right-align, centre-align and anything in-between.
      def align_text(g, text_lines, line_width, align) :
         "renders the sequence of text_lines horizontally-aligned within line_width according" \
         " to align: 0 for left-aligned, 0.5 for centred, 1.0 for right-aligned; in-between" \
         " values also allowed. Returns the bounds of the rendered text."
         font_extents = g.font_extents
         bounds = Rect.empty
         for line in text_lines :
             save_pos = g.current_point
             extents = g.text_extents(line)
             if align != 0 :
                 text_width = extents.width
                 g.rel_move_to(((line_width - text_width) * align, 0))
             #end if
             bounds |= Rect(extents.x_bearing, extents.y_bearing, extents.width, extents.height) + g.current_point
             g.show_text(line)
             g.move_to(save_pos + Vector(0, font_extents.height))
         #end for
         return \
             bounds
     #end align_text
 That comes from the “text_align_justify” example in this repo
<https://gitlab.com/ldo/qahirah_examples>.
 
   Looks like it will work just fine.
   Wanting to confine text
      to a relatively
      small bounded box
      is not unusual at
      all. Much easier
      with fixed-point
      fonts however.
   But still, the FORTRAN "format" statement was
   created with teletypes/pin-printers/terminals
   in mind.
   I wonder how much CPU goes into nothing but
   displaying nice-looking proportional fonts
   these days ?

Date Sujet#  Auteur
12 Jul 25 o 

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal