Sofa is strictly editorial. There is no pay for play.





made with tagcloud





100 - Banco
101 - BaseTwelveSerifB
102 - BawdyBoldItalic
103 - CanadianPhotographerScript
104 - CushingHeavyItalic
105 - EgyptienneFLTStd-Bold
106 - ExcelsiorLTStd
107 - faith
108 - FalseNegative
109 - FalsePositive
110 - FastGirlsWiredForSpeed
111 - Flux
112 - FPeepRegular
113 - FreakshowRealScary
114 - FungFoo
115 - FutureKillLight
116 - generation_s
117 - Grace
118 - Greyhound1
119 - Greyhound2
120 - Greyhound3
121 - HateNoteExtortionate
122 - HooskerDoo
123 - HouseBrokenClean
124 - HouseBrokenRough
125 - INKyblack
126 - InsClousseau
127 - InternationalDisgraceMaximus
128 - IrregularBold
129 - IrregularCaps
130 - KnockoutInitials
131 - Lambrettista
132 - Laundrette
133 - LinearFace
134 - LinotypeSansara
135 - LowerWestSideWestSide
136 - MagnesiumMVBGrime
137 - Mama
138 - MarkerFat
139 - Marsha1
140 - Marsha2
141 - MelloMedium
142 - MiroRegular
143 - MissingLink
144 - MonkeyCaughtStealingSquatObliq
145 - Mothra
146 - Mulinex
147 - Mythos
148 - NeonOutline
149 - Nucleus
150 - Ooopsie
151 - OoopsieReverse
152 - OptiFanFold
153 - OPTIFleetWingFortyFour
154 - OPTIMorganFiveNine
155 - ParisFlashICG
156 - ParkwayHotel
157 - PenalCode
158 - Persuasive
159 - Pesto
160 - Phathouse
161 - PilotOuterSpace
162 - Postino
163 - PsychedelicSmoke
164 - PuffyDreamland
165 - PureCapital
166 - Rad
167 - Raydiant
168 - SerpentineBoldOblique
169 - SFTechnodelightNSBold
170 - shakopee
171 - ShotgunBT
172 - stereoidfatty
173 - Stop
174 - StrumpfOpen
175 - Sütterlin
176 - Toolbox
177 - Tooth31Italic
178 - TraxType
179 - TruthNormal
180 - Tupertime
181 - TV27
182 - Umbra
183 - warehouse
184 - Zebratype
185 - ZebrawoodRegular
186 - ZeitgeistMTCameo
187 - ZeitgeistMTCrazyPaving
188 - MorseCode
200 - AGaramondPro-Regular
201 - AJensonPro-SemiboldDisp
202 - Aldine721LightBT
203 - AmericanTypewriterLight
204 - barcodefont
205 - Caslon224Std-Book
206 - Caslon3LTStd-Roman
207 - CaslonOpenFaceLTStd
208 - CenturyExpandedLTStd
209 - CenturyGothicFett
210 - CenturyStd-HandtooledBold
211 - ClearfaceGothicLTStd-Medium
212 - CochinLTStd-BoldItalic
213 - DidotLTStd-Roman
214 - DrNO
215 - Druckschrift
216 - Dynamoe
217 - Egyptian505LightBT
218 - EhrhardtMTStd-Semibold
219 - FacsimiledBold
220 - Forte
221 - FrutigerNextLTHeavyCond
222 - FuturaStd-Book
223 - GarthGraphic
224 - Gentium
225 - Geometric231BoldBT
226 - GillSansMT
227 - GlyphaLTStd-Black
228 - GroschenBook
229 - HamburgMedium
230 - HarlowSolidItalic
231 - HelveticaInseratLTStd-Roman
232 - HelveticaNeue-UltraLigCond
233 - JansonTextLTStd-Roman
234 - JoannaMTStd-SemiBold
235 - LaserPlain
236 - LinoLetterStd-Medium
237 - LinotextDfr
238 - LinotypeProjektSmallCaps
239 - LinotypeScottMars
240 - LinotypeSilver
241 - LinotypeZurpreisSemiBold
242 - LucidaSansStd
243 - LucidaSansTypewriterStd-Obl
244 - LucifersPensionRoman
245 - MetaCaps
246 - MinionPro-ItDisp
247 - MonolineScriptMTStd
248 - MyriadPro-SemiboldSemiExt
249 - NewClarendonMT
250 - OfficinaSansStd-Book
251 - OfficinaSerifStd-Book
252 - OptimaLTStd
253 - Playtoy
254 - PoeticaRomanSmallCaps
255 - ReporterTwo
256 - RotisSemiSerif
257 - RoyalAcid
258 - RoyalAcidbathOutline
259 - SabonLTStd-Bold
260 - SeaDog2001Condensed
261 - SeaDog2001Shadow
262 - SFAtarianSystem
263 - SFSportsNight
264 - SimonciniGaramondStd
265 - SpaceToaster
266 - Sprint
267 - StampGothic
268 - Stealth
269 - StempelSchneidlerStd-Medium
270 - StoneInformalStd-Semibold
271 - StoneSansStd-Medium
272 - SudburyBasin
273 - TheMixBlackCapsItalic
274 - TheMixBlackPlain
275 - TheMixExtraLightPlain
276 - TheMixSemiBoldPlain
277 - TheSansMonoBold
278 - TimesPhoneticIPA
279 - TradeGothicLTStd
280 - UniversLTStd-BoldCn
281 - URLYbird
282 - VectoraLTStd-Bold
283 - Ventilate
284 - VinetaBTRegular
285 - WalbaumMT
286 - WaltDisneyScriptv4.1
287 - WarnockPro-SemiboldDisp
288 - ZigHow

lassen sie sich nicht von der höchsten zahl irreführen: insgesamt sind es 177 schriften, die in zwei gruppen (von 100-188 und von 200-288) numeriert sind.

dass es ausgerechnet zweimal 88 schriften wurden, ist purer zufall und keine numerologische verschwörung.





wie das für nicht-programmierer geht.

(1) volumen schaffen: schöne schriften finden und als gif bereitlegen.

eine naheliegende variante ist, mit einem schriftenmanagementprogramm eine schriftengruppen anzulegen. diese schriftengruppe nimmt geeignete schriften auf. meist ist die wahl des beispielsatzes freigestellt, angezeigt wird der gewählte text in der selektierten schriftart.
viele dieser schriftenmanagment-programme bieten die ausgabe von schriftenmustern an: druckt man diese als pdf, entsteht ein pdf-dokument mit allen schriften in der gewählten beispieldarstellung.
mit hilfe von acrobat professional werden die logotypen ins clipboard ex- und von dort in eine bildearbeitung importiert, dann als gif mit transparent = weiss unter ihrem schriftennamen gesichert.

wahrscheinlich gibt es intelligentere verfahren.

das endergebnis ist das sichtbare. allerdings kann dabei einiges schiefgehen: die logotype sollte nicht breiter sein als die zur verfügung stehende breite im layout. bei breiteren logotypen liegt in dieser genese des sofas die typo hinter dem rechts gelagerten menübereich. das ist nicht schön und muss manuell korrigiert werden. versäumen sie nicht, leerzeichen aus den bezeichnern zu entfernen: die meisten brauser mögen keine leerzeichen in urls.

gifs sind es, weil dabei eine transparante farbe angegeben werden kann. sollte sich das sofa-layout einmal von weissem zu andersfarbigem hintergrund ändern, dann könnte der schriften-trick weiterlaufen.

[repeat this x times]

apropos: ein satz, der alle buchstaben des alfabetes enthält, ist

Zwölf Boxkämpfer jagen Viktor zum Spaß quer über den Sylter Deich. 1234567890 !"§$%&/()=?@€

nun liegen sehr viele logotypen ordentlich benamst in einem verzeichnis.

(2) ein javascript aussuchen und anpassen.

dummerweise kann man javascript nicht einfach sagen "nimm ein x-beliebiges gif aus diesem verzeichnis und stelle es dar". man muss vielmehr ein array angeben, also eine liste von dateien, aus denen zur ladezeit jeweils ein dargstellt wird. dies trägt nun etwas auf. das script selbst sehen sie hier, in den auskommentierten passagen ist grob dokumentiert, was das script tut:


<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
<!--av-code-->// JavaScript to interpolate random images into a page.
<!--av-break-->
<!--av-code-->var ic = 5; // gesamtanzahl alternativer gifs
<!--av-code-->var i = new Array(ic); // ein array, in dem die dateien gespeichert werden
<!--av-break-->
<!--av-code-->// Set up the images. These are GIFs, but they don't have to be.
<!--av-code-->// You could also save space in your file by including the
<!--av-code-->// unchanging part of the image filename (i.e. 'inline/imageSample'
<!--av-code-->// and '.gif') in the 'writeln' statement below, and just storing
<!--av-code-->// the part of the image name that actually changes. Used this way
<!--av-code-->// you could reference a very large number of different images while
<!--av-code-->// keeping the file size small.
<!--av-break-->
<!--av-code-->// prima Idee, so machen wir das.
<!--av-code-->// erstmal mit einer handvoll logotypen. wenn das klappt, mit vielen.
<!--av-break-->
<!--av-code-->// hier zuerst die ab 100 aufsteigend nummerierten GIFs
<!--av-break-->
<!--av-code-->i[0] = "100.gif";
<!--av-code-->i[1] = "101.gif";
<!--av-code-->i[2] = "103.gif";
<!--av-code-->i[3] = "104.gif";
<!--av-break-->
<!--av-code-->// mit 100 wird begonnen, um ein wenig den ueberblick ueber den bearbeitungszustand zu halten.
<!--av-break-->
<!--av-code-->// pickRandom - Return a random number in a given range. If we're running
<!--av-code-->// on an older browser that doesn't support 'Math.random()', we can fake
<!--av-code-->// it by using the current time. This isn't ideal for mission-critical
<!--av-code-->// security applications, but it's fine here. Note that we divide the
<!--av-code-->// current time by 1000 to get rid of the milliseconds which Navigator
<!--av-code-->// doesn't seem to take into account.
<!--av-break-->
<!--av-code-->function pickRandom(range) {
<!--av-code--> if (Math.random)
<!--av-code--> return Math.round(Math.random() * (range-1));
<!--av-code--> else {
<!--av-code--> var now = new Date();
<!--av-code--> return (now.getTime() / 1000) % range;
<!--av-code--> }
<!--av-code-->}

<!--av-code-->// Write out an IMG tag, using a randomly-chosen image name.
<!--av-break-->
<!--av-code-->// den statischen pfad einmalig vorangestellt, die hochkommata nicht vergessen, alles in eine zeile
<!--av-break-->
<!--av-code-->// den statischen pfad erhalten sie, in dem sie mittels des brausers die bildeigenschaften betrachten und den pfad kopieren
<!--av-break-->
<!--av-code--> var choice = pickRandom(ic);
document.writeln('<div class=".noborder">' + '<IMG SRC="arrog.antville.org' + i[choice] + '">' + '</a>' + '</div>');
<!--av-break-->
// -->
</SCRIPT>

das script muss in die main-skin, also jene, die auf allen seiten eines antville-logs angezeigt wird.

(3) alle gifs auf antville laden

dies ist nun ein unangenehm manueller prozess.
angenehmer wäre es, man könnte eine ganze gruppe von gifs wählen und en bloc laden. antville denkt aber anders: jedes einzelne file muss händisch und nacheinander eingestellt werden. nun zeigt sich, dass es ganz schlau ist, die gifs aufsteigend numerisch zu benennen. merken sie sich auf jeden fall die schriftennamen und die zugehörigen nummern. man weiss ja nie, vielleicht will man das bei zeiten wissen.

[repeat this x times]

nun liegen in einem ordner alle gifs. in unserem beispiel ist der ordner

arrog.antville.org

(4) das script für sehr viele bilder anpassen

nun gilt es, die x-mal vorhandenen gifs eines nach dem anderen in das array des javascripts zu packen. entweder, sie schreiben sich die finger wund oder sie nutzen eine tabellenkalkulation.

schreiben sie ein aufeinanderfolgende zellen jenes (| gibt eine neue zelle an)

A | B | C | D | E | F | G

i[ | 0 | ] = " | 100 | .gif";| |

in spalte G kommt diese formel:

=$A$4&B4&$C$4&D4&$E$4

im ergebnis steht dann

i[0] = "100.gif";

dies kopieren sie nun so oft nach unten, wie sie bildchen haben.
vielleicht schreiben sie sich gleich in spalte H den schriftnamen, dann ist zusammen, was zusammengehört.

so.
nun erweitern sie das script aus (2) an zwei stellen:

die anzahl der insgesamt vorhandenen schriften muss in die variable:

var ic = 177;

dann markieren sie die komplette spalte G und ersetzen den oben testhalber angelegten array:

i[0] = "100.gif";
i[1] = "101.gif";
(...)
i[175] = "286.gif";
i[176] = "287.gif";
i[177] = "288.gif";

schon fertig.

wenn sie sich für die schriftennamen interessieren: diese finden sie hier