htmlemailunicodesmallcaps

Doing small-caps manually to get desired look rather than font-variant: small-caps;


Constraints:
1. This is for an HTML newsletter (no HTML5 or JS)
2. Font-family is {Lucida Sans, Lucida Grande, Lucida San Unicode, serif}

I need to match an existing PDF newsletter mast head (rather improve it but it's not in the brief) with text not Image (since many email clients don't load images automatically and it's the masthead)

Masthead PDF

The code I have so far (adapting a free theme from campaign monitor called Classic by 45royale) is:

<h1 style="color: #fff; font: normal 33px Lucida Sans, Lucida Sans Unicode, Lucida Grande, sans-serif; margin: 0; padding: 0; line-height: 33px; letter-spacing: 16px; font-variant: small-caps;">Teeᴇᴇ</h1>
<p style="color: #dfa575; font: normal 11px Georgia, serif; margin: 0; padding: 0; line-height: 11px; letter-spacing: 2px">NEWSLETTER …</p>

result

Note the first two `e's have been small capped and are noticably thinner in stems than the 'T' and are much smaller than the small caps in the PDF.

The second two 'E's are small cap Unicode characters I found in the phonetics section of Unicode. They have equivalent stems but are still a little too low in terms of height above baseline.

EDIT: I just checked 3 Lucida Faces on OS X in suitcase fusion and Small Caps for full alphabet doesn't exist in any of the Lucida family of fonts I'm looking at.

All the letters including the 'T' and 'P' seem thicker than the PDF version too but that's only a second order issue.

What manual options are available. I'm inside an <h1> tag which means if I make a new tag to set a different font-size after the 'T' for 'ERRA' I get a LineFeed for free :-/

How can I set multiple font-sizes on the same line, should I just be using a <p> tag and custom classes to set CSS and inline font sizes?

Thanks for reading :-)


Solution

  • You can set multiple font sizes on the same line with an inline element like <span></span>. So in your example...

    <style>
    h1 { color: #fff; font: normal 33px Lucida Sans, Lucida Sans Unicode, Lucida Grande, sans-serif; margin: 0; padding: 0; line-height: 33px; letter-spacing: 16px; }
    h1 span { font-variant: small-caps; }
    .newsletter { color: #dfa575; font: normal 11px Georgia, serif; margin: 0; padding: 0; line-height: 11px; letter-spacing: 2px }
    </style>
    
    <h1>Tee<span>ee</span>EE</h1>
    <p class="newsletter">NEWSLETTER …</p>
    

    EDIT: Here's an updated snippit that may help:

    eeee!

    <style>
    body { background:#658290 }
    h1 { 
        color: #fff; 
        font: normal 33px Lucida Sans, Lucida Sans Unicode, Lucida Grande, sans-serif; 
        margin: 0; padding: 0; 
        line-height: 33px; letter-spacing: 16px; 
    }
    h1 span { font-variant: small-caps; letter-spacing:0.3em }
    h1 span.upper { font-size:130%; }
    </style>
    
    <h1><span class="upper">ee</span><span class="lower">ee</span></h1>