Font
2006 by LFSaw
The Font used to create the LFSaw logo.
(
var width = 10, height = 400;
var posMaxX, posMaxY;
var xArray, yArray, widthArray, heightArray, rotateArray;
var string;
var num;
var stringPosX = 0, stringPosY = 0;
var scale = 0.4;
w = SCWindow.new(\logo, Rect(0,0,400,400)).front;
w.view.background = Color.white;
string = "LFSaw";
num = string.size;
xArray = Array.fill(num, {|i|
string[i].isSpace.if({
stringPosX = stringPosX + 10
}, { string[i].isPunct.if({
stringPosX = stringPosX + 5
}, {
stringPosX = stringPosX + 3
})
})
})*8;
yArray = Array.fill(num, {|i|
string[i].ascii * -5
});
heightArray = Array.fill(num, {|i|
string[i].ascii * 3;
});
widthArray = Array.fill(num, {|i|
string[i].isVowel.if({
string[i].ascii * 0.1
},{
string[i].ascii * 0.2
})
});
rotateArray = Array.fill(num, {|i|
try({
string[i].isVowel.if({
(string[i].digit-10)*35.reciprocal * 0.5pi
},{
(string[i].digit-10)*35.reciprocal * pi
})
}, {0})
});
w.drawHook = {
Color.black.set;
Pen.translate(100, 500);
Pen.scale(scale, scale);
num.do{|i|
Pen.use {
Pen.translate(xArray[i], yArray[i]);
Pen.rotate(rotateArray[i]);
Pen.translate(xArray[i].neg, yArray[i].neg);
Pen.fillRect(Rect(xArray[i], yArray[i], widthArray[i], heightArray[i]));
}
}
};
w.refresh;
)