A logo/icon for FOB

Keith and I have been working on the logo for the site. The original design was my fault. Keith wrote a Cairo/Nickle program to generate a cleaner, prettier version. I built a script (attached) to build a properly-constructed favicon out of a transparent PNG.

Keith will post his code shortly.

AttachmentSize
favicon-sh.txt481 bytes

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Final script above.

Looks like attachments to comments not OK. Hmm. I'll just overwrite the previous attachment.

OK, I'm done with this game for now...

The attached modified favicon-sh.txt will accept a --prescaled argument that causes it to use pre-built scaled images produced by, [u]for example[/u], Cairo.

I've updated the logo and favicon on the website: I think I'm done for now. Thanks to Keith for the Cairo work!

(Oops. You can't edit a comment to attach to it . I'll submit another comment with the script I forgot. I also noticed I'm posting as 'admin'. Bad me.)

favicon.sh and PNM scaling

Uh, the PNM scaler used by favicon.sh does a really world-class ugly job making a tiny version of the new logo. Oh well. Keith has better bitmaps generated directly by Cairo: I'll install them RSN.

I can't attach stuff

[code]
#!/usr/bin/env nickle

autoimport Cairo;

void fob (cairo_t cr)
{
translate (cr, -7, -9);
scale (cr, 1.5, 1.5);

void face (cairo_t cr)
{
save (cr);
set_line_width (cr, 4);

scale (cr, 3.5, 4);
arc (cr, 9, 9, 7, 0, 2*pi);
save (cr);
pattern_t pat = Pattern::create_radial (12, 12, 0, 9, 9, 7);
Pattern::add_color_stop (pat, 0, 1, 1, 1, 1);
Pattern::add_color_stop (pat, 1, 1, .8, .6, 1);
set_pattern (cr, pat);
fill (cr);
restore (cr);
scale (cr, 1/3.5, 1/4);
stroke (cr);
restore (cr);
}

void lens (cairo_t cr, int x, int y)
{
save (cr);
translate (cr, x, y);
move_to (cr, 0, 0);
line_to (cr, 0, 10);
curve_to (cr, 0, 18, 13, 18, 13, 10);
line_to (cr, 13, 0);
line_to (cr, 0, 0);
if (true)
{
save (cr);
set_rgb_color (cr, .9, .9, .9);
fill (cr);
restore (cr);
}
if (false)
{
save (cr);
pattern_t pat = Pattern::create_radial (8, 8, 0, 8, 8, 30);
Pattern::add_color_stop (pat, 0, 1, 1, 1, 1);
Pattern::add_color_stop (pat, 1, .8, .8, .8, 1);
set_pattern (cr, pat);
fill (cr);
restore (cr);
}
restore (cr);
}

void letters (cairo_t cr)
{
save (cr);
select_font (cr, "sans", font_slant_t.NORMAL, font_weight_t.NORMAL);
scale_font (cr, 40);
rotate (cr, 90 * pi / 180);
translate (cr, 12, -20);
move_to (cr, 0, 0);
show_text (cr, "F");
move_to (cr, 8, 4);
show_text (cr, "B");
restore (cr);
}

void earpiece (cairo_t cr)
{
save (cr);
set_line_width (cr, 4);
move_to (cr, 10, 20);
rel_curve_to (cr, 7, 0, 3, 3, 8, 6);
stroke (cr);
restore (cr);
}

face (cr);
lens (cr, 18, 26);
lens (cr, 31, 26);
letters (cr);
earpiece (cr);
}

if (true)
{
cairo_t cr = new_png ("fob.png", 80, 90);
fob (cr);
destroy (cr);

cairo_t cr = new_png ("fob-16.png", 16, 16);
scale (cr, 0.1{7}, 0.1{7});
translate (cr, 5, 0);
fob (cr);
destroy (cr);

cairo_t cr = new_png ("fob-32.png", 32, 32);
scale (cr, 0.3{5}, 0.3{5});
translate (cr, 5, 0);
fob (cr);
destroy (cr);

cairo_t cr = new_png ("fob-48.png", 48, 48);
scale (cr, 0.5{3}, 0.5{3});
translate (cr, 5, 0);
fob (cr);
destroy (cr);
}
else
{
cairo_t cr = new ();
fob (cr);
sleep (10000000);
}
[/code]

Nickle code for FOB logo

Here's the nickle code I used to generate the logo. It's nasty inside, but that's no different from a hand-drawn logo.

Found a Cairo bug

Well, linear gradients don't appear to work in the Cairo software PNG renderer. Sometimes.

Keith is using a radial gradient for the logo glasses until we can fix this.

PNG for new logo

Keithp actually posted the PNG for the new logo to his blog.

Post new comment

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.
Syndicate content