Thread View: de.comp.lang.c++
6 messages
6 total messages
Started by Thorsten Gau
Fri, 20 Oct 1995 15:55
Datenstruktur fuer Textverarbeitung
Author: Thorsten Gau
Date: Fri, 20 Oct 1995 15:55
Date: Fri, 20 Oct 1995 15:55
35 lines
1660 bytes
1660 bytes
Hallo, ich bei dabei ein Programm in C++ zu schreiben, daß Texte von einem Format in ein internes und dann in ein anderes konvertiert. Dabei werden einige Informationen extrahiert (z.B. Feldinhalte, URLs, ...). Zur Zeit arbeitet mein Programm rein auf ASCII Basis. Nun moechte ich gerne verschiedene Schriftattribute (Fett, Kursiv, ...), Schriftgroessen und Schriftfamilien unterstuetzen. Weiterhin soll der Zeilenabstand variabel sein. Welche Datenstrukturen bieten sich hierfür an? a) Jedes Zeichen hat bekommt Informationen füer alle möglichen Attribute. + Man weiß, wie jedes Zeichen auszusehen hat - Sehr speicheraufwendig - wie bildet man Zeilenabstand ab? b) Man hat Nettozeichen und Änderungscodes, also ähnlich wie bei Drucker-ESC-Sequenzen + weniger Speicher erforderlich - Extrahierung des Nettotextes wird aufwendiger c) Eine Struktur für Nettotext, eine andere für Attribute/Änderungen + - d) ... Wer kann mir da Tips oder Quellenverweise / URLs geben ? -- ============================================================================== Thorsten Gau --- Neu Wulmstorf, Germany --- VOICE: +49 40 / 700 52 96 * * EMail: gau_t@gauhh.hanse.de / gau_t@informatik.fh-hamburg.de | 2B or not 2B... gives FF PGP-Key on demand ! \___/
Re: Datenstruktur fuer Textverarbeitung
Author: Michael Strauch
Date: Mon, 23 Oct 1995 15:18
Date: Mon, 23 Oct 1995 15:18
55 lines
3201 bytes
3201 bytes
Thorsten Gau (gau_t@gauhh.hanse.de) wrote: > ich bei dabei ein Programm in C++ zu schreiben, daß Texte von einem Format in > ein internes und dann in ein anderes konvertiert. Dabei werden einige > Informationen extrahiert (z.B. Feldinhalte, URLs, ...). Zur Zeit arbeitet mein > Programm rein auf ASCII Basis. Nun moechte ich gerne verschiedene > Schriftattribute (Fett, Kursiv, ...), Schriftgroessen und Schriftfamilien > unterstuetzen. Weiterhin soll der Zeilenabstand variabel sein. > Welche Datenstrukturen bieten sich hierfür an? > a) Jedes Zeichen hat bekommt Informationen füer alle möglichen > Attribute. > + Man weiß, wie jedes Zeichen auszusehen hat > - Sehr speicheraufwendig > - wie bildet man Zeilenabstand ab? > b) Man hat Nettozeichen und Änderungscodes, also ähnlich wie bei > Drucker-ESC-Sequenzen > + weniger Speicher erforderlich > - Extrahierung des Nettotextes wird aufwendiger > c) Eine Struktur für Nettotext, eine andere für Attribute/Änderungen > + > - Einen konkreten Tip kann ich Dir auch nicht geben, aber Du solltest vielleicht mal folgendes (im Sinne guter Datenabstraktion und objektorientierter Programmierung) versuchen: Definiere Dir Dein Objekt "Text", bestehend aus Untereinheiten wie z.B. Absaetze, Saetze, Woerter, Zeichen (je nachdem, was Du fuer sinnvoll haeltst), ueber die Operationen, die Du auf Deinen Daten alle durchfuehren willst. Ueberlege Dir dann, welche Operationen bei welcher internen Zeichenrepraesentation langsam werden, und ob Du damit leben kannst. Je nachdem, wo Du dann Deinen Schwerpunkt legst (hohe Geschwindigkeit bei allen oder nur einem Teil der Funktionn, oder besser einfache Struktur), kannst Du Dich dann immer noch entscheiden, welcher Repraesentation Du letztendlich den Vorzug gibst. Einen Kompromiss zwischen speicheraufwendiger oder schneller Loesung kannst Du Dir alle mal auch selber zusammenbauen: z.B. fuer jedes Wort Deines Textes vermerken, ob es ein einheitliches Schriftattribut besitzt (und wenn ja, welches). Letztendlich haengt aber alles von den konkreten Operationen ab, die Du fuer Deinen Text benoetigst. Wenn Du Dir darueber eine konkrete Uebersicht verschaffst, kannst Du Dir hoechstwahrscheinlich Deine Frage selbst beantworten. - Michael - -- *************************************************************************** * Michael Strauch * email: * * University of Dortmund * strauch@emmy.mathematik.uni-dortmund.de * * Department of Mathematics * * ***************************************************************************
Re: Datenstruktur fuer Textverarbeitung
Author: Friedrich Dierks
Date: Tue, 24 Oct 1995 06:36
Date: Tue, 24 Oct 1995 06:36
30 lines
1467 bytes
1467 bytes
In article <DGr897.7KA@gauhh.hanse.de>, gau_t@gauhh.hanse.de (Thorsten Gau) wrote: >ich bei dabei ein Programm in C++ zu schreiben, daß Texte von einem Format in >ein internes und dann in ein anderes konvertiert. Dabei werden einige >Informationen extrahiert (z.B. Feldinhalte, URLs, ...). Zur Zeit arbeitet mein >Programm rein auf ASCII Basis. Nun moechte ich gerne verschiedene >Schriftattribute (Fett, Kursiv, ...), Schriftgroessen und Schriftfamilien >unterstuetzen. Weiterhin soll der Zeilenabstand variabel sein. > >Welche Datenstrukturen bieten sich hierfür an? > (...) > >Wer kann mir da Tips oder Quellenverweise / URLs geben ? > Literaturhinweis: Gamma et al : "Design Patterns", Kapitel Flyweight-Objekte (S. 195), ISBN 0-201-63361-2 =============================================================== Friedrich Dierks (dierks@damon.irf.uni-dortmund.de) Institut für Roboterforschung Universität Dortmund Otto-Hahn-Str. 8 44227 Dortmund Tel.: ++49 / (0)231 / 755-4642 Fax.: ++49 / (0)231 / 755-4653
Re: Datenstruktur fuer Textverarbeitung
Author: Wolfgang Deiss
Date: Wed, 25 Oct 1995 11:08
Date: Wed, 25 Oct 1995 11:08
14 lines
1174 bytes
1174 bytes
Hallo Thorsten, wie waers, wenn Du Alternative b) mit einer Klasse realisierst, die jeweils eine Textsequenz mit konstanten Attributen enthaelt? Dabei solltest Du eine Variable fuer den reinen ASCII-String einrichten und andere fuer die Attribute. Auf diese Weise haettest Du eine saubere Trennung von Text und Attributen und koenntest den gesamten Text als Liste von Sequenzen gleicher Attribute zerlegen. Die Extraktion der Feldinhalte muss dann auf dieser Liste arbeiten, duerfte wegen der sauberen Trennung nicht allzu schwer fallen. Gruss, Wolfgang
Re: Datenstruktur fuer Textverarbeitung
Author: Jan Fuelscher
Date: Sat, 28 Oct 1995 02:00
Date: Sat, 28 Oct 1995 02:00
19 lines
1184 bytes
1184 bytes
gau_t@gauhh.hanse.de (Thorsten Gau) wrote: >Hallo, >ich bei dabei ein Programm in C++ zu schreiben, daß Texte von einem Format in >ein internes und dann in ein anderes konvertiert. Dabei werden einige >Informationen extrahiert (z.B. Feldinhalte, URLs, ...). Zur Zeit arbeitet mein >Programm rein auf ASCII Basis. Nun moechte ich gerne verschiedene >Schriftattribute (Fett, Kursiv, ...), Schriftgroessen und Schriftfamilien >unterstuetzen. Weiterhin soll der Zeilenabstand variabel sein. >Welche Datenstrukturen bieten sich hierfür an? [schnipp] Wie waere es mit dem Rich-Text-Format oder einer Untermenge davon? - Verweise kann ich leider nicht liefern. Ansonsten scheint mir Variante b) am einfachsten zu sein: Eine Formatierung gilt so lange, bis sie explizit aufgehoben wird.
Re: Datenstruktur fuer Textverarbeitung
Author: Marius Tomaschewski
Date: Sun, 29 Oct 1995 20:46
Date: Sun, 29 Oct 1995 20:46
24 lines
1698 bytes
1698 bytes
>Thorsten Gau (gau_t@gauhh.hanse.de) wrote: > ich bei dabei ein Programm in C++ zu schreiben, daß Texte von einem Format in > ein internes und dann in ein anderes konvertiert. Dabei werden einige > Informationen extrahiert (z.B. Feldinhalte, URLs, ...). Zur Zeit arbeitet mein > Programm rein auf ASCII Basis. Nun moechte ich gerne verschiedene > Schriftattribute (Fett, Kursiv, ...), Schriftgroessen und Schriftfamilien > unterstuetzen. Weiterhin soll der Zeilenabstand variabel sein. > Welche Datenstrukturen bieten sich hierfür an? Ich hätte mich für ein Standard-Dateiformat als Dein internes Fromat entschieden, wodurch sich eine geeignete Dateistruktur fast von selbst ergibt. In dem Buch von Günter Born, Referenzhandbuch der Dateiformate (Addison-Wesley ISBN 3-89319-815-6) bzw. dem 'Programmierhandbuch...' gleichen Autors werden viele Formate beschrieben. Marius. +------------------------------------------+ | "[...] denke niemals an die Zukunft. | | Sie kommt frueh genug." | | Albert Einstein | | | | Marius.Tomaschewski@Hamburg.NetSurf.DE | +------------------------------------------+
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads