/[freezvaut]/trunk/doc/skript.tex
ViewVC logotype

Contents of /trunk/doc/skript.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 28 - (show annotations)
Fri Dec 16 23:11:44 2005 UTC (19 years, 4 months ago) by kai
File MIME type: application/x-tex
File size: 12802 byte(s)
Skript.pdf durch Anleitung im tex-Format ersetzt.Diverse png-Dateien hinzugefügt und readme.txt entsprechend korrigiert.

1 \documentclass[a4paper,titlepage]{article}
2 \usepackage{umlaut,german,graphicx,fancyheadings,textcomp}
3 \pagestyle{fancy}
4
5
6
7 \lhead{Erstellung von (ZV-AUT-konformen) Symbolen für den UMN MapServer/MapServer Cheetah mittels FontForge}
8 %\rhead{}
9 %\chead{}
10 \setlength{\headwidth}{17cm}
11 \setlength{\parindent}{0em}
12 \setlength{\headsep}{1cm}
13 \setlength{\voffset}{-1cm}
14 % \glqq Anführungszeichen.
15
16 %\usepackage{german}
17 %\usepackage[latin1]{inputenc}
18
19 \usepackage[a4paper,top=2cm,left=2cm,right=2cm,bottom=0cm]{geometry}
20
21 \begin{document}
22 \begin{titlepage}
23 \normalsize Autor: Dipl-Geogr. Kai Behncke\\\\
24 Datum: Dezember 2005\\\\
25 E-mail: [email protected]\\\\\\
26
27
28
29 \begin{center}
30 \huge Anleitungsskript\\[3cm]
31
32 \end{center}
33
34 \begin{center}
35 \Huge Erstellung von (ZV-AUT-konformen) Symbolen für den UMN MapServer/MapServer Cheetah mittels
36 FontForge
37 \end{center}
38
39
40
41 \end{titlepage}
42 \section{Einleitung}
43 Dieses Skript soll all jenen eine Hilfe sein, welche sich mit der Entwicklung von Symbolen
44 für den UMN MapServer beschäftigen.
45 Zwar bezieht sich dieses im Schwerpunkt auf die Erstellung von
46 Symbolen orientiert an den Vorschriften für das automatisierte Zeichnen der Liegenschaftskarte in Nordrhein-Westfalen (ZV-AUT),
47 kann jedoch selbstverständlich auch unabhängig davon eine Hilfe sein.
48 Es richtet sich letztlich an Personen, welche eigene TrueType-Font-Symbole erstellen möchten.
49 In dieser Anleitung geht es nicht darum, FontForge umfassend zu erklären (dafür gibt es gute Dokumentationen), es
50 wird lediglich eine kurze Einführung gegeben.\\
51 Die Anleitung stammt aus eigenen
52 Erfahrungen sowie aus Anregungen aus den folgenden Quellen:
53
54 \begin{itemize}
55 \item Dokumentation zur Nutzung des Font Creator in Verbindung mit der
56 Symbolerstellung für eine ALK-ZV-AUT konforme Darstellung der Symbole und
57 Signaturen im Mapbender \\ (http://prdownloads.sourceforge.net/mapbender/Dokumentation\_Font\_Creator.sxw?download)
58 \item Dokumentation zu FontForge (http://fontforge.sourceforge.net/overview.html)
59 \item Archiv der FontForge-mailinglist (http://sourceforge.net/mailarchive/forum.php?forum=fontforge-users)
60 \item Dokumentation zur Symbolerstellung mittels des UMN MapServers
61 \\ (http://www.mapmedia.de/dokumente/umn\_signaturen\_howto/index.html)
62 \item Im Rahmen eines Praktikums viel Input von den netten MitarbeiterInnen der \glqq Intevation GmbH\grqq (welchen an dieser Stelle
63 noch einmal gesondert gedankt werden soll)
64 \end{itemize}
65
66
67 Bekannterweise können mittels des UMN MapServers Symbole verschiedenartig dargestellt werden.
68 Diese können in der Symboldatei als TYPE VECTOR, ELLIPSE, CARTOLINE (zusätzliche Konstruktionsmöglichkeit für Liniensignaturen),
69 PIXMAP (Grafik), SIMPLE, HATCH (Schraffuren) oder TRUETYPE definiert werden.
70 Mittels der Implikation von TrueType-Fonts können nahezu alle Symbole, die man sich wünscht, im UMN MapServer dargestellt werden.
71 \section {FontForge}
72
73 FontForge ist ein Fonterstellungsprogramm welches von der Seite\\ \glqq
74 http://sourceforge.net/project/showfiles.php?group\_id=103338\grqq \space
75 heruntergeladen werden kann.\\
76 Um einen Font zu erstellen, starten Sie das Programm und erstellen eine neue Datei (Datei -$>$ Neu).
77 Anschließend legen Sie die Kodierung fest (Encoding -$>$ Force Encoding -$>$ (z.B.) Unicode, BMP).
78 Wenn Sie dann in der Übersicht auf eines der leeren Felder klicken, dann öffnet sich der Fonterstellungsmodus und folgendes Fenster
79 erscheint:\\
80 \textbf{Abbildung 1: Fonterstellungsumgebung in FontForge}\\
81 \includegraphics{fontforge.png}\\
82
83
84 Das Font erstellen Sie auf der Ebene des Em-squares (rechtes Fenster der Abbildung 1).\\
85 Hierzu einige grundsätzliche Äußerungen:\\
86 Erstellt man in einem Fonterstellungsprogramm ein Symbol, so arbeitet man in einem Koordinatensystem (Em-square).
87 In diesem wird festgelegt, wie viele Punkte oder besser: \glqq Abstufungen\grqq \space sich darin befinden (z.B. 1000, 1024, 2048).
88 In Bezug auf die Größe des auszugebenden Symbols hat der Em-square (auch: Em-Wert) keine Relevanz, was aber DARIN passiert bestimmt natürlich sehr wohl die
89 Symbolgröße.\\
90
91 Nach Anleitung durch die FontForge-Dokumentation
92 (http://fontforge.sourceforge.net/fontinfo.html\#PS-General) wird für die Erstellung von TrueType-Fonts mit einem globalen Em-Wert von 2048 Einheiten gearbeitet
93 (einzustellen unter Element -$>$ Font Info -$>$ General).\\
94
95
96 Es ist innerhalb des Em-squares nun möglich, ein Symbol über die Tools zu erstellen (diese sind im Wesentlichen selbsterklärend).
97 Besonders sinnvoll für die Symbolerstellung ist im Menü die Option des Transformierens (Element -$>$ Transformations -$>$ Transform).
98 Hier gibt es z.B. die Möglichkeit, Symbole bzw. Symbolteile zu bewegen, zu skalieren oder zu drehen.
99 In der Praxis werden sie diese Möglichkeiten zu schätzen wissen.\\
100
101 Nachdem dann ein Symbol kreiert wurde, muss dann der Font erstellt werden (Datei -$>$ Generate Fonts (und dann natürlich als *.ttf
102 abspeichern)).
103 Der Font (bzw. dessen Symbole) können dann im MapServer verwendet werden.
104
105 \section {ZV-AUT-entsprechende Anforderungen an Symbole und praktisches Vorgehen}
106
107 Wer sich mit der ZV-AUT auseinandersetzt, weiß, dass deren Vorschriften sehr genau und präzise sind.
108 So werden Linienwerte teilweise auf hundertstel Millimeter genau angegeben (z.B. Linienbreite 2 = 0,18 mm).
109 Auch gibt es zahlreiche Symbole, deren millimetergenaue Darstellung durchaus anspruchsvoll ist (siehe Abbildung 2).\\
110
111 \textbf{Abbildung 2: OS 3923 aus Folie 082 der ZV-AUT}\\
112 \framebox{\includegraphics{laufkran1.png}}\\
113
114 Dieses Symbol z.B. stammt aus Folie 082 der ZV-AUT (OS 3923) und soll eine Liniendicke von 0,18 mm, eine Gesamtlänge
115 von 20 mm (5*4 mm) und eine Höhe von 2,5 mm aufweisen.
116
117 Innerhalb der ZV-AUT werden die Symbolgrößen im Normalfall in der Spalte \glqq Durchmesser, Seitenlänge\grqq \space angegeben.
118 Zusätzlich bzw. anstelle dessen findet jedoch auch teilweise eine Größendeklarierung am Symbol selber statt.
119 Hier ist allerdings zu betonen, dass oftmals nur Teilbereiche des Symbols definiert werden.
120 Es gilt darauf zu achten, dass die Proportionen des Symbols letztlich in Bezug auf die Gesamtdarstellung erhalten bleiben.\\
121
122 Die entscheidende Frage ist, mit welchen Größenangaben die Symbole letztlich in FontForge erstellt und dann im MapServer
123 dargestellt werden.\\
124
125 Bekannt ist, dass der UMN MapSever seine Symbole in Pixeln darstellt.\\
126 Standardmäßig werden 72 Pixel pro Inch dargestellt (1 inch = 2,54 cm), also
127 genau 28,3464566929... Pixel pro cm.
128
129 Will man also im Mapfile einem Symbol die Größe von 1 cm geben, so muss die SIZE-Angabe im Mapfile bei 28,3464566929...
130 (für 0,5 cm: 14.17322834645...; für 0.2 cm: 5.6692913386....; etc.) liegen.\\
131 Für die Darstellung der Symbole auf einer Karte im Browser ist das irrelevant, da SIZE-angaben standardmäßig
132 als Integer-Wert übernommen werden (und Größendarstellung in einem Internetbrowser natürlich auch immer von der Bildschirgröße und -auflösung
133 abhängt).\\
134 Will man jedoch einen ZV-AUT-konformen Druck gewährleisten, so ist es wichtig, die Nachkommastellen zu erhalten.
135 Mittels eines eigens für den Druck geschriebenen Skriptes können dann die Nachkommastellen berücksichtigt werden
136 und im Druck genaue Werte erstellen.\\
137
138
139 Nun bleibt noch die Frage zu klären, wie groß ein Symbol in FontForge erstellt werden muss, bzw. mit welchen Einheiten hier gearbeitet
140 wird.\\
141 In der Dokumentation zur Nutzung des Font Creator in Verbindung mit der
142 Symbolerstellung für eine ALK-ZV-AUT konforme Darstellung (siehe oben) ist zu lesen, dass einem Objekt für einen Druck von 8 mm der SIZE-wert von 22.6771653543...zuzuschreiben ist
143 und das Objekt im \glqq Fontcreator\grqq eine Ausdehung von 741,36 em-units hat (hier wird mit einem globalen Em-Wert von 1000 Einheiten
144 (units) gearbeitet).\\Ich habe letztlich genau die selben Werte ermittelt,
145 letztlich allerdings mit einem globalen Em-Wert von 2048 Einheiten gearbeitet, so dass die
146 Werte hoch skaliert werden. 741,36 Em-units entsprechen dann 1518,30 Einheiten.\\
147 Dass dieses in Bezug auf die tatsächliche Ausgabegröße ohne Relevanz ist dürfte klar geworden sein.
148 Ein Symbol, welches 1000 Em-units bei einem EM-Wert von 2000 hat, wäre genauso groß, wie ein Zeichen, das 500 Einheiten bei einem EM-Wert von
149 1000 hat.
150 \\
151
152 \textbf{Abbildung 3: OS 3195 aus Folie 082 der ZV-AUT in FontForge}\\
153 \includegraphics{zeichen.png}\\
154
155
156 Die ZV-AUT-Vorgabe zu dem Symbol aus Abbildung 3 sagt, dass es einen Durchmesser von 6 mm und eine Liniendicke von 1,8 mm haben soll.\\
157 In der Abbildung erkennt man, dass das Symbol im Em-square in der Horizontalen 1518 Em-units breit ist (genau genommen 1518,30).
158 Die Länge in der Vertikalen besitzt natürlich den selben Wert.
159 Die Linienbreite weist eine Länge von 45,549 Em-units auf.\\
160 \\
161 \\Die Liniendicke errechnet man mit einem ganz einfachen Dreisatz.
162 Wenn man weiß, dass das Symbol letztlich 6 mm Durchmesser haben soll und dieser durch 1518,30 Em-units verortet wird, so soll
163 die Linie bei einer geforderten Dicke von 0,18 mm insgesamt x Em-units aufweisen, also:\\
164
165 %\begin{displaymath}
166 \[x=\frac{0.18*1518.30}{6}\]
167
168 %\end{displaymath}
169
170 Es gilt hier aufzupassen: Die Ausgabegröße des Symbols wird ja letztlich über den SIZE-Wert im Mapfile definiert (hier wäre das also
171 ein Wert von 17.007874....).\\\\
172 Der mit einer Größe definierte Bereich sollte dann im Em-square von FontForge 1518,30 units breit sein (denkbar ist es natürlich bei
173 \glqq Symbolwolken\grqq (wie z.B. dem OS 7894 aus Folie 021 (Gartenland, siehe Abbildung 4))) diese Ausdehnung zu verkleinern und dafür im
174 selben Verhältnis den SIZE-Wert zu erhöhen.\\
175
176 \textbf{Abbildung 4: OS 7894 aus Folie 021 der ZV-AUT}\\
177 \framebox{\includegraphics{gartenland.png}}\\
178
179 Wie bereits erwähnt gibt es an einem Symbol für verschiedene Bereiche teilweise auch verschiedene Größendeklarationen.
180 Diese Größen beziehen sich auf Komponenten in horizontaler und vertikaler Ausdehung.
181 Es ist zu empfehlen, wie auch in der bereits oben zitierten Dokumentation (Font Creator \& ZV-AUT) geschildert, eine
182 Hierarchisierung der Größenangaben durchzuführen, heißt: es wird zuerst den horizontal verlaufenden Größenangaben gefolgt und dann den
183 vertikal verlaufenden. Dieses bewirkt ein eindeutiges, klares Vorgehen bei der Symbolerstellung.\\
184
185 Für den Fall dass bei einem Symbol ein Teilausschnitt definiert wird, sollte dieser Teilausschnitt im Em-square mit dem Wert von 1518,30 units
186 belegt werden, dieses kann natürlich dann letztlich dazu führen, dass ein erstelltes Symbol sehr groß wird (siehe Abbildung 5).\\\\\\\\
187 \textbf{Abbildung 5: OS 3923 aus Folie 082 der ZV-AUT}\\
188 \includegraphics{laufkran2.png}\\
189
190
191 In Abbildung 5 erkennt man, dass das Gesamtsymbol eine Breite von 7632 Em-units aufweist.\\
192 Die Komponente, welche in der ZV-AUT eine feste Größenangabe erhalten hat (siehe Abbildung 2) soll ja 4 mm breit sein.\\
193 Dieser definierte Wert wird in FontForge auf 1518,30 Em-units gesetzt, die Umgebung inklusive der Linien in Relation angepaßt (so entsteht
194 die enorme Breite des Symbols) und das ganze im Mapfile dann mit dem SIZE-Wert 11.338582677... belegt.
195 In der Ausgabe ist dann die definierte Komponente logischerweise 4 mm breit und das ganze Symbol weist eine Breite von 20 mm auf (genau das,
196 was man haben will).\\
197
198 Ein leicht zu übersehender \glqq Fallstrick\grqq \space entsteht in der ZV-AUT dadurch, dass von der Form \glqq gleiche\grqq \space Symbole
199 unterschiedliche Größen aufweisen; so z.B. OS 0118, Folie 052: \glqq Abgemarkter Grenzpunkt\grqq (siehe Abbildung 6)(soll eine Liniendicke von 0,18 mm und
200 einen Durchmesser von 1,5 mm haben) und OS 8011, Folie 082 \glqq Quelle\grqq (siehe Abbildung 7)(die Vorschrift gibt eine Liniendicke von 0.18 mm und einen
201 einen Durchmesser von 2,5 mm an).\\
202
203 \textbf{Abbildung 6: OS 0118 aus Folie 052 der ZV-AUT}\\
204 \framebox{\includegraphics{abgemarkter-grenzpunkt.png}}\\
205
206
207 \textbf{Abbildung 7: OS 8011 aus Folie 082 der ZV-AUT}\\
208 \framebox{\includegraphics{quelle.png}}\\
209
210
211 Hier kann man leicht auf den Gedanken kommen, ein und dasselbe Symbol (hier der Kreis) im Mapfile mit unterschiedlichen SIZE-Werten zu belegen (einmal
212 mit 4.251968.... und einmal mit 7.0866141....).\\ Jedoch ist zu bedenken, dass dann auch die Breite der Außenlinie (welche ja bei beiden
213 Symbolen absolut bei 0,18 mm liegen soll) mitskaliert; die Relationen würden sich also verändern.
214 Es gilt hier erneut mittels des Dreisatzes (siehe oben) die Em-units der Außenlinie zu ermitteln (der Durchmesser der beiden Symbole dann
215 liegt selbstverständlich jeweils bei 1518,30 Em-units).\\
216 Auch wenn generell eine Abweichung von ca. 15 Em-units aufgrund der geringen Größe keinerlei Auswirkungen auf die Darstellung hat, so
217 gilt es selbstverständlich doch, so genau wie möglich zu arbeiten.\\\\
218
219 Link zum Projekt Free-ZVAUT: http://wald.intevation.org/projects/freezvaut/
220
221
222
223
224 \end{document}
225
226
227
228
229

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26