🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: de.comp.lang.c++
6 messages
6 total messages Started by Thorsten Gau Fri, 20 Oct 1995 15:55
Datenstruktur fuer Textverarbeitung
#631
Author: Thorsten Gau
Date: Fri, 20 Oct 1995 15:55
35 lines
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
#642
Author: Michael Strauch
Date: Mon, 23 Oct 1995 15:18
55 lines
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
#650
Author: Friedrich Dierks
Date: Tue, 24 Oct 1995 06:36
30 lines
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
#662
Author: Wolfgang Deiss
Date: Wed, 25 Oct 1995 11:08
14 lines
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
#677
Author: Jan Fuelscher
Date: Sat, 28 Oct 1995 02:00
19 lines
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
#679
Author: Marius Tomaschewski
Date: Sun, 29 Oct 1995 20:46
24 lines
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