Implied Spacing


Working with the Scribus API we wrote a script for something we named Implied Spacing.

The script removes all spaces between words and creates a gradient in the letter colouring. The rule is, as a word gets closer to its end, each letter gets progressively lighter.

It’s quite short so here it is:


from scribus import *

# change values here
font = "Bevan Regular"
fontsize = 10
linespacing = 11
defineColor("PunctColor", 0, 255, 255, 70)
defineColor("TextColor", 200, 100, 0, 50)
punct_chars = ".,?!\""

# open the text we'll use
txt = open('/home/rlafuente/proj/lgru/space/lovelikesalt.txt', 'r').read()
txt = txt.replace('\n', ' ')
# create text box
textbox_name = createText(0, 0, 595, 840, "Text1")
setText(txt, textbox_name)

# set up textbox attributes
selectObject(textbox_name)
setFont(font, textbox_name)
setFontSize(fontsize, textbox_name)
setLineSpacing(linespacing, textbox_name)
setTextColor("TextColor", textbox_name)

def allindices(string, sub, listindex=None, offset=0):
    # find all indices of a specific string
    if not listindex:
        listindex = []
    i = string.find(sub, offset)
    while i >= 0:
        listindex.append(i)
        i = string.find(sub, i + 1)
    return listindex

# get positions for all space characters
txt = getAllText(textbox_name)
spaceindexes = allindices(txt, " ")
print spaceindexes
# likewise for punctuation
punctindexes = []
for char in punct_chars:
    idxs = allindices(txt, char)
    punctindexes.extend(allindices(txt, char))

deselectAll()

shade = 100
for i in range(1, len(txt)):
    if i in spaceindexes:
        # space
        shade = 100
    elif i in punctindexes:
        # punctuation
        selectObject(textbox_name)
        selectText(i, 1)
        setTextColor("PunctColor")
    else:
        # not space
        if shade < 20:
            shade = 20
        selectObject(textbox_name)
        selectText(i, 1)
        setTextShade(shade)
        shade -= 20

# now delete all spaces
spaceindexes.reverse()
for i in spaceindexes:
    selectText(i, 1, textbox_name)
    deleteText()


Posted in hacks Leave a comment

OFLB: Putting it all together

In July, we started a three month collaboration with Dave Crossland working on the Open Font Library website. The main goals were the website redesign and information re-structuring for version 0.4 of OFLB.
From the start we’ve been documenting the process on our blog, sharing our daily doubts and achievements.

We started with sketches and mockups for some of the ideias we wanted to develop. The CSS styled font specimen, our very first post, is an example of one of these ideas. As we tested some approaches and received feedback, we settled on the visual direction for the project. Dave made the suggestion to log our progress in our blog, and so we did — here’s the full list of posts:

  1. Showing the fonts in action
  2. Sketches and blueprints
  3. Clearing up the main menu
  4. First layouts
  5. Bringing the layout to life
  6. Finding colour
  7. Logo issues
  8. The homepage
  9. Iterating and re-iterating
  10. Catalogue views
  11. Fleshing out the homepage
  12. Installing your local version of Open Font Library on Fedora 15
  13. Translation
  14. Identity guidelines
  15. Catalogue views II
  16. The font page
  17. Media Wiki and version control
  18. The footer
  19. Icon fitting
  20. Refining the homepage
  21. Interface widgets
  22. Media Queries
  23. Rethinking the guidebook
  24. A filter bar for the catalogue
  25. Sitting down to type
  26. The font page II
  27. Moving up
  28. Writing and frameworking

Looking back to all of these, we can see the progression from early experiments towards more solid and final ones.

Besides the redesign, we worked on the interfaces for font browsing and previewing, as well as the font family page. These went through a lot of rethinking and refining in the mockups. Once we moved to the Aiki implementation, we had to adapt our structure to the existing framework, along with many tweaks to our original plans, in order to end up with a good version of our design idea thanks to the help and support of Fabricatorz, who added a group of new features to the existing OFLB framework.

We’re close to the website launch, and we have to thank Dave Crossland, Robert Martinez, the Fabricatorz and all others who provided valuable insights, suggestions and corrections regarding our designs along the way.

Posted in news Leave a comment

ttfautohint

Type hinting is a time consuming process in the type design workflow.
For this reason many existing fonts are launched without it.
To solve this problem Werner Lemberg is proposing a new tool: ttfautohint.

If you want to help to make web typography better contribute to the project at: http://pledgie.com/campaigns/15816

Posted in news Leave a comment

OFLB: Writing and frameworking

Documenting open fonts

Writing extensive documentation is something that we’re not used to — and it’s never too late to get started! As a reference, we based our structure on the wonderful and highly regarded Django documentation, as well as the Django book. We posted before on our approach of following a book structure, along with a set of reference lists (appendices).

As we revise and edit the existing Guidebook, we came up with a more sensible structure, divided in 3 main sections about creating, sharing and using open fonts. Here’s our table of contents so far:

Introduction
What is the Open Font Guidebook?
Use cases and where you should start reading

Creating fonts
Get started designing fonts
How to design a font
Design a new typeface from scratch
Revive a historic design
Remix a font
Fonts needed for OFLB

FontForge
Installing
Setting up
Using
Scripting with Python

Sharing fonts
Uploading your fonts to the Open Font Library
Using FontForge to work with Open Font Library

Using fonts
Using open fonts in your web site
Using open fonts in your graphic design programs
Managing fonts in your system
Fontmatrix (OSX, Windows)
Fontbook

Legal issues
Fonts and the law
About licensing
How font licensing works
The Open Font License
The GNU General Public License
Proprietary licensing
Other licenses

Reference lists
Glossary
Font formats
Licenses
Web typography toolkits
Existing libre fonts
Specimens and scans
Open fonts People
External Resources
Software
Knowledge
Education

We’ve completed some of the reference lists, and just finished a step-by-step tutorial around scripting FontForge, using as a practical example our script for generating outline fonts. There’s still a lot of writing and editing before we hit version 1.0 of the Guidebook, and we believe it will become a priority read for anyone who wants to know more about fonts.

Getting to grips with the Aiki Framework

Now that the core mockups have been finished, it’s time to port them over to Aiki, the framework that takes care of all the work inside the Open Font Library. The way it works is new to us — we normally use Django — and there’s some very interesting concepts in Aiki. One good example is Aiki widgets, which in our opinion can be best described as blocks: a page is made of several widgets, which consist of HTML code, CSS additions, SQL calls and other options. By joining all these blocks together in order, you have a dynamic page.

So our work now has been to get the HTML from our mockups and placing it inside the relevant widgets, doing the necessary tweaks and adjustments in order to fit inside Aiki. We’ve been rather busy refreshing our limited knowledge of SQL in order to be able to pull this through. So far we’ve nailed down the header and footer, and are now busy implementing the Catalogue and Font Family pages, which require finer adjustments to the queries and templates. All this work is going on in a private server, which will be then merged with the main site as soon as the new design is fully implemented (soon!)

Translation!

We’ve also started work on translating OFLB. Fabricatorz are hard at work setting up a translation infrastructure for Aiki, and we’ve done the first steps of a total Portuguese translation — starting with translating Aiki itself, and moving to OFLB-specific content. We’ll also be working to translate the Guidebook, and then hope that other languages might be included by other contributors.

ativan cost

ativan dosage

ativan erowid

ativan for sleep

ativan generic

ativan gel

ativan iv

ativan klonopin

ativan medication

ativan medicine

ativan mg

ativan no prescription

ativan online

ativan pill

ativan price

ativan reviews

ativan sublingual

ativan sleep

ativan shortage

ativan snorting

ativan tablet

ativan to sleep

ativan uses

ativan uk

ativan wiki

ativan yellow pill

ativan yellow

snorting ativan

buy ativan online

buy ativan online canada

buy ativan uk

buy ativan online no prescription

buy ativan online cheap

cheap ativan

cheap ativan online

cheap ativan online no prescription

cheap ativan no prescription

cheap ativan no rx

cheap ativan sale

online ativan

online ativan no prescription

online ativan canada

online ativan buy

online ativan prescription

online ativan pills

online ativan medication

order ativan online

order ativan

generic ativan

generic ativan online

order ativan online no prescription

order ativan canada

order ativan cod

order ativan no prescription

ativan online

ativan online canada

ativan online overnight

ativan online pharmacy

ativan online no prescription

Posted in news 1 Comment