[Date Prev][Date Next] [Thread Prev][Thread Next]
[Date Index] [Thread Index] [New search]

RE: Align different sized fonts to top



On Wed, 19 Mar 2003, "Thomas V. Nielsen" <thomas@integrator.dk> wrote:
>Date: Wed, 19 Mar 2003 13:51:29 +0100
>From: "Thomas V. Nielsen" <thomas@integrator.dk>
>Subject: Align different sized fonts to top.
>
>A fancy designer, has come up with a design that includes text lines,
>containing two different sizes of the same font, like Helvetica 12 pt.
>bold and Helvetica 10 pt. regular, but on the same line.
>
>That isn't the problem, since the pagination "Run in head" can do the
>trick.
>The problem is that the paragraphs should be aligned to the top, and not
>as the "Run in head" does, as by aligning them to the bottom. (Xx)
>
>/Thomas


This is a perfect opportunity to use a classic MIF hack, that is 
typically used for special-purpose character tags. Essentially, what 
you do is add a character attribute in MIF for which there is no 
dialog box equivalent. As you probably know, FrameMaker allows you to 
displace any objects--or characters--by selecting them and then 
pressing Option+ArrowKey to move the selection one pixel at the 
current magnification, or Shift+Option+ArrowKey to move the selection 
6 pixels at the current magnification (Option=Alt in Windows). Since 
displaced text in FrameMaker must still be considered to be part of a 
text flow, and the MIF version of a document has to provide a 
mechanism for describing that displacement, MIF is obliged to support 
vertical and horizontal displacement (woohoo!). And that displacement 
syntax can also become part of any character or paragraph tag 
definition. Unfortunately, there isn't a dialog box control to create 
it; it has to be done by editing a MIF file in a text editor. 
However, once the desired change is made to the MIF file, it can be 
opened again in FrameMaker, and from then on (unless that tag is 
redefined), the 'hacked' tag definition remains part of the 
formatting of the document.

This is how I just created a special body paragraph tag to follow a 
run-in head, as in Thomas' situation, with the body paragraph's 
position raised to align it with the top of the head paragraph text. 
It looks like a lot of work, but it really takes only a couple of 
minutes.

1) Take one of your sample documents in which you have already 
created the run-in head and special body paragraph tags, and ensure 
that they are formatted exactly as required (except for the vertical 
alignment, which we are about to fix).

2) Delete the contents of the document, and save as a separate file 
(it's just easier working with an empty document).

3) Type a capital letter 'H' as the run-in head (or any letter whose 
top consists of straight edges, i.e., not an 'O' or 'S'), and then 
type another capital 'H' as the following body paragraph.

3) In the body paragraph, type some more text after the 'H'. Type 
something that will be easy to find later (like 'dubya', for example).

4) Select the letter 'H' at the beginning of the body paragraph and 
zoom in to at least 800%.

5) Press Option+UpArrow (Mac) or Alt+UpArrow (Windows) until the tops 
of the 'H's are visually aligned. (When I used Helvetica 12 for the 
head and Helvetica 10 for the body, and was zoomed to 800%, I had to 
press Option+UpArrow 11 times to align the body 'H' with the head 
'H'.)

6) Save the document as a MIF file and close it.

7) Open the resulting MIF file in a text editor like BBEdit (Mac) or 
WordPad (Windows). You could use FrameMaker, but text editors are 
slightly easier to work with and will ensure you are opening the 
document and saving the changes as plain text.

8) Search for the unique word you typed in the body paragraph. If you 
started with an empty document, this will be right near the end of 
the file.

9) The MIF for this paragraph will look something like the following:

  <Para
   <Unique 998202>
   <PgfTag `HeadingRunIn'>
   <ParaLine
    <String `H'>
   > # end of ParaLine
  > # end of Para
  <Para
   <Unique 998201>
   <PgfTag `RunInBody'>
   <ParaLine
    <Font
     <FTag `'>
     <FDY  -13.75%>
     <FLocked No>
    > # end of Font
    <String `H'>
    <Font
     <FTag `'>
     <FLocked No>
    > # end of Font
    <String `dubya'>
   > # end of ParaLine
  > # end of Para

10) Locate the line consisting of <FDY  -13.75%> (the value may be 
slightly different for you), and copy the value. This is the vertical 
displacement you want to build into the paragraph tag.

11) Search for the name of the special body paragraph tag you had 
created. It will be in the beginning portion of the MIF file in the 
Paragraph Formats section. I named my special body paragraph 
'RunInBody', so the tag definition in my MIF file started with the 
following two lines:

  <Pgf
   <PgfTag `RunInBody'>

The rest of the definition for the paragraph tag will consist of over 
80 lines of MIF code; but you just have to look for the vertical 
displacement entry <FDY  0.0%>.

12) Replace the 0.0% with the value you just copied, and save the file.

13) Open the MIF document in FrameMaker. The entire body paragraph 
should now be vertically displaced as you specified. It's now part of 
the paragraph tag definition. You just have to import the Paragraph 
Formats from this document to your template file or whatever you're 
using as a style document.

As I mentioned at the beginning of all this, this hack is typically 
used for character tags. I have often used it to adjust the vertical 
position of bullet characters in autonumbering situations. If you 
want a smaller than normal bullet, it will be vertically positioned 
too low unless you use this hack.
-- 
Regards,

David Cramer


*//////////////////\\\\\\\\\\\\\\\\\\\*//////////////////\\\\\\\\\\\\\\\\\\\*
*         DOCUMENTS AND MORE          *     Winnipeg, Manitoba, Canada      *
*     "Intelligent digital design,    *        Tel: (204) 772-9284          *
*    layout & publishing solutions"   *       Fax: (204) 774-5884           *
*//////////////////\\\\\\\\\\\\\\\\\\\*//////////////////\\\\\\\\\\\\\\\\\\\*

** To unsubscribe, send a message to majordomo@omsys.com **
** with "unsubscribe framers" (no quotes) in the body.   **