Τεχνολογία Πολυμέσων Ενότητα 5: Κείμενο Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί ενότητας Η ενότητα αυτή πραγματεύεται ζητήματα σχετικά με το κείμενο. 4
Περιεχόμενα ενότητας (1/4) Κείμενο. Κωδικοποίηση κειμένου. Αναπαράσταση χαρακτήρων - Κώδικας ASCII. Μέθοδοι κωδικοποίησης κειμένου. Γλώσσες σήμανσης. Standard Generalized Markup Language - SGML. SGML Βασικά χαρακτηριστικά. Περιγραφική σήμανση. 5
Περιεχόμενα ενότητας (2/4) Ορισμός τύπου εγγράφου. Ανεξαρτησία δεδομένων. Η δομή μιας γλώσσας σήμανσης. Παράδειγμα εφαρμογής SGML. HyperText Markup Language - HTML. Περιορισμοί της HTML. Παράδειγμα ΗΤML. extensible Markup Language - XML. 6
Περιεχόμενα ενότητας (3/4) XML - Βασικά στοιχεία. Παράδειγμα ΧML. SGML HTML & XML. Εισαγωγή κειμένου. Οδηγίες μορφοποίησης κειμένου. Οργάνωση κειμένου. Γραμματοσειρές. Χαρτογραφικές γραμματοσειρές. 7
Περιεχόμενα ενότητας (4/4) Διανυσματικές γραμματοσειρές - TrueType fonts. Εκτύπωση κειμένου. Κείμενο και εφαρμογές πολυμέσων. Μορφές διαχείρισης κειμένου σε εφαρμογές πολυμέσων. Σύνοψη. 8
Κείμενο
Κείμενο (1/2) O γραπτός λόγος αποτελεί τον βασικό φορέα πληροφορίας. Το κείμενο παραμένει ο κλασικότερος αλλά και ο σημαντικότερος τρόπος αναπαράστασης της πληροφορίας. Κείμενο: Συμβολική περιγραφική αναπαράσταση. Γράμματα γλωσσών. Ιδεογράμματα. Ειδικά σύμβολα (πχ. μαθηματικά). 10
Κείμενο (2/2) Το κείμενο αποτελεί τον πρώτο τρόπο απεικόνισης της πληροφορίας σε υπολογιστή κι επικοινωνίας ανθρώπου-υπολογιστή για: Εισαγωγή δεδομένων. Κώδικας προγραμμάτων. Περιεχόμενο εφαρμογών. 11
Κωδικοποίηση κειμένου (1/2) Σύνολο χαρακτήρων (charset). Βασική έννοια στην προσέγγιση των κωδικοσελίδων, είναι ένα ολοκληρωμένο σύστημα κωδικοποίησης μιας αλληλουχίας χαρακτήρων σε μια σειρά από bits ψηφιακών δεδομένων. Κωδικός χαρακτήρα. Δηλαδή, είναι η ανάθεση μιας θέσης κωδικού σε ένα χαρακτήρα. Στον υπολογιστή οι χαρακτήρες αναπαρίστανται με τη χρήση αριθμών. Για παράδειγμα σε 1 byte μπορούν να αντιστοιχηθούν 256 χαρακτήρες με κωδικούς 0-255. 12
Κωδικοποίηση κειμένου (2/2) Μέθοδος κωδικοποίησης κειμένου: Μια μέθοδος αναπαράστασης χαρακτήρων στον υπολογιστή που αντιστοιχεί κωδικούς χαρακτήρων σε σειρές από bytes (οκτάδες από bits) για να αποθηκευθούν σε αρχείο. Το πρότυπο (standard) κωδικοποίησης κειμένου καθορίζει: Ποιοι χαρακτήρες κωδικοποιούνται. Πως πρέπει να κωδικοποιηθούν σε ροή ψηφιακών δεδομένων. 13
Αναπαράσταση χαρακτήρων - Dec Hx Oct Char Κώδικας ASCII (1/7) Πίνακας 1: Αναπαράσταση χαρακτήρων - Κώδικας ASCII (1/7). Πηγή: Διδάσκων (2015). 0 0 000 NUL (null) 1 1 001 SOH (start of heading) 2 2 002 STX (start of text) 3 3 003 ETX (end of text) 4 4 004 EOT (end of transmission) 5 5 005 ENQ (enquiry) 6 6 006 ACK (acknowledge) 7 7 007 BEL (bell) 8 8 010 BS (backspace) 9 9 011 TAB (horizontal tab) Dec Hx Oct Char 10 A 012 LF (NL line feed, new line) 11 B 013 VT (vertical tab) 12 C 014 FF (NP form feed, new page) 13 D 015 CR (carriage return) 14 E 016 SO (shift out) 15 F 017 SI (shift in) 16 10 020 DLE (data link escape) 17 11 021 DC1 (device control 1) 18 12 022 DC2 (device control 2) 19 13 023 DC3 (device control 3) 14
Αναπαράσταση χαρακτήρων - Κώδικας ASCII (2/7) Πίνακας 2: Αναπαράσταση χαρακτήρων - Κώδικας ASCII (2/7). Πηγή: Διδάσκων (2015). Dec Hx Oct Char 20 14 024 DC4 (device control 4) 21 15 025 NAK (negative acknowledge) 22 16 026 SYN (synchronous idle) 23 17 027 ETB (end of transportation block) 24 18 030 CAN (cancel) 25 19 031 EM (end of medium) 26 1A 032 SUB (substitute) 27 1B 033 ESC (escape) 28 1C 034 FS (file separator) 29 1D 035 GS (group separator) 30 1E 036 RS (record separator) 31 1F 037 US (unit separator) 15
Αναπαράσταση χαρακτήρων - Κώδικας ASCII (3/7) Πίνακας 3: Αναπαράσταση χαρακτήρων - Κώδικας ASCII (3/7). Πηγή: Διδάσκων (2015). Dec Hx Oct HTML Char 32 20 040   Space 33 21 041 !! 34 22 042 " " 35 23 043 # # 36 24 044 $ $ 37 25 045 % % 38 26 046 & & 39 27 047 ' 40 28 050 ( ( 41 29 051 ) ) Dec Hx Oct HTML Char 42 2A 052 * * 43 2B 053 + + 44 2C 054 ,, 45 2D 055 --46 2E 056 .. 47 2F 057 / / 48 30 060 0 0 49 31 061 1 1 50 32 062 2 2 51 33 063 3 3 16
Αναπαράσταση χαρακτήρων - Κώδικας ASCII (4/7) Πίνακας 4: Αναπαράσταση χαρακτήρων - Κώδικας ASCII (4/7). Πηγή: Διδάσκων (2015). Dec Hx Oct HTML Char 52 34 064 4 4 53 35 065 5 5 54 36 066 6 6 55 37 067 7 7 56 38 070 8 8 57 39 071 9 9 58 3A 072 : : 59 3B 073 ; ; 60 3C 074 < < 61 3D 075 = = Dec Hx Oct HTML Char 62 3E 076 > > 63 3F 077 ?? 64 40 100 @ @ 65 41 101 A A 66 42 102 B B 67 43 103 C C 68 44 104 D D 69 45 105 E E 70 46 106 F F 71 47 107 G G 17
Αναπαράσταση χαρακτήρων - Κώδικας ASCII (5/7) Πίνακας 5: Αναπαράσταση χαρακτήρων - Κώδικας ASCII (5/7). Πηγή: Διδάσκων (2015). Dec Hx Oct HTML Char 72 48 110 H H 73 49 111 I I 74 4A 112 J J 75 4B 113 K K 76 4C 114 L L 77 4D 115 M M 78 4E 116 N N 79 4F 117 O O 80 50 120 P P 81 51 121 Q Q Dec Hx Oct HTML Char 82 52 122 R R 83 53 123 S S 84 54 124 T T 85 55 125 U U 86 56 126 V V 87 57 127 W W 88 58 130 X X 89 59 131 Y Y 90 5A 132 Z Z 91 5B 133 [ [ 18
Αναπαράσταση χαρακτήρων - Κώδικας ASCII (6/7) Πίνακας 6: Αναπαράσταση χαρακτήρων - Κώδικας ASCII (6/7). Πηγή: Διδάσκων (2015). Dec Hx Oct HTML Char 92 5C 134 \ \ 93 5D 135 ] ] 94 5E 136 ^ ^ 95 5F 137 _ _ 96 60 140 ` ` 97 61 141 a a 98 62 142 b b 99 63 143 c c 100 64 144 d d 101 65 145 e e Dec Hx Oct HTML Char 102 66 146 f f 103 67 147 g g 104 68 150 h h 105 69 151 i i 106 6A 152 j j 107 6B 153 k k 108 6C 154 l l 109 6D 155 m m 110 6E 156 n n 111 6F 157 o o 19
Αναπαράσταση χαρακτήρων - Κώδικας ASCII (7/7) Πίνακας 7: Αναπαράσταση χαρακτήρων - Κώδικας ASCII (7/7). Πηγή: Διδάσκων (2015). Dec Hx Oct HTML Char 112 70 160 p p 113 71 161 q q 114 72 162 r r 115 73 163 s s 116 74 164 t t 117 75 165 u u 118 76 166 v v 119 77 167 w w Dec Hx Oct HTML Char 120 78 170 x x 121 79 171 y y 122 7A 172 z z 123 7B 173 { { 124 7C 174 | 125 7D 175 } } 126 7E 176 ~ ~ 127 7F 177  DEL 20
Μέθοδοι κωδικοποίησης κειμένου (1/9) ASCII (American Standard Code for Information Interchange) Δημιουργήθηκε από την American Standards Association το 1963. Κάθε χαρακτήρας αντιστοιχείται με 7 bit. Περιλαμβάνει 27=128 χαρακτήρες (κωδικοί χαρακτήρων 0-127). Οι κωδικοί 0-31 και 127 αντιστοιχούν σε 33 ειδικούς χαρακτήρες ελέγχου. Οι κωδικοί 32-63 αντιστοιχούν σε αριθμούς, σημεία στίξης, σύμβολα πράξεων. Οι κωδικοί 64-95 αντιστοιχούν σε κεφαλαία λατινικά γράμματα και ειδικά σύμβολα. Οι κωδικοί 96-126 αντιστοιχούν σε πεζά λατινικά γράμματα και ειδικά σύμβολα. Έλλειψη υποστήριξης άλλων γλωσσών. 21
Μέθοδοι κωδικοποίησης κειμένου (2/9) EBCDIC (Extended Binary Coded Decimal Interchange Code) (1964). Δημιουργήθηκε από την IBM για μεγάλα υπολογιστικά συστήματα (mainframes) το 1964. Κάθε χαρακτήρας αντιστοιχείται με 8 bit. Περιλαμβάνει 28=256 χαρακτήρες (κωδικοί χαρακτήρων 0-255). 22
Μέθοδοι κωδικοποίησης κειμένου (3/9) Κωδικοσελίδες ISO (International Standards Organization): Σύνολο εναλλακτικών κωδικοποιήσεων με στόχο να αντιμετωπιστεί η αδυναμία του κώδικα ASCII να υποστηρίξει άλλες γλώσσες πλην της αγγλικής. Κάθε χαρακτήρας αντιστοιχείται με 8 bit. Περιλαμβάνει 28=256 χαρακτήρες. Οι πρώτοι 128 χαρακτήρες είναι ακριβώς ίδιοι με τον κώδικα ASCII, ενώ οι υπόλοιποι 128 χαρακτήρες μπορούν να χρησιμοποιηθούν για ειδικά σύμβολα ή χαρακτήρες άλλων αλφαβήτων. 23
Μέθοδοι κωδικοποίησης κειμένου (4/9) Κωδικοσελίδες ISO (International Standards Organization) (Συνέχεια): Οι κωδικοσελίδες ISO έχουν διαδοθεί ευρέως και χρησιμοποιούνται σε διεθνείς εκδόσεις πακέτων λογισμικού. Παραδείγματα: ISO-Latin-8859-1 (Latin-1) Western European. ISO-Latin-8859-7 (Latin-7) Latin/Greek (for modern Greek ή ΕΛΟΤ 928). 24
Μέθοδοι κωδικοποίησης κειμένου (5/9) Κωδικοσελίδες (code pages) Windows. Κάθε χαρακτήρας αντιστοιχείται με 8 bit. Περιλαμβάνει 28=256 χαρακτήρες. Χρησιμοποιούνται από τις διάφορες εκδόσεις των Windows. Παραδείγματα: Windows-1252: Western European (υποστηρίζει πολλές γλώσσες Δυτικής Ευρώπης, π.χ. Αγγλικά, Γαλλικά, Ισπανικά, Γερμανικά). Windows-1253: Ελληνική. 25
Unicode Μέθοδοι κωδικοποίησης κειμένου (6/9) Παγκόσμιο πρότυπο για την κωδικοποίηση όλων των γνωστών γραπτών γλωσσών και αλφαβήτων του κόσμου (περισσότεροι από 1 εκατομμύριο χαρακτήρες). Επίσης περιλαμβάνει και άλλα σύμβολα που χρησιμοποιούνται στα μαθηματικά και τη μουσική. Αντιστοιχεί σε κάθε χαρακτήρα μια μοναδική αριθμητική τιμή και όνομα. Κάθε χαρακτήρας μπορεί να αντιστοιχηθεί με 1, 2, ή και 4 Bytes. 26
Μέθοδοι κωδικοποίησης Unicode (Συνέχεια). κειμένου (7/9) Το Unicode ορίζει δύο τρόπους απεικόνισης: Κωδικοποιήσεις UTF (Unicode Transformation Format) Π.χ. UTF-8, UTF-16, UTF-32. Κωδικοποιήσεις UCS (Universal Character Set). Π.χ. UCS-2LE (εκδοχή της Microsoft για το Unicode), UCS-4. Παγκόσμιο πρότυπο για την κωδικοποίηση όλων των γνωστών γραπτών γλωσσών και αλφαβήτων (πάνω από 1 εκατομμύριο χαρακτήρες). 27
Μέθοδοι κωδικοποίησης κειμένου (8/9) Unicode (Συνέχεια). Αντιστοιχεί σε κάθε χαρακτήρα μια μοναδική αριθμητική τιμή και όνομα. Κάθε χαρακτήρας μπορεί να αντιστοιχηθεί με 1, 2, ή και 4 Bytes. Το Unicode ορίζει δύο τρόπους απεικόνισης: Κωδικοποιήσεις UTF (Unicode Transformation Format) UTF-8, UTF-16, UTF-32 (Ο αριθμός υποδηλώνει τον αριθμό των bit σε κάθε μονάδα). Κωδικοποιήσεις UCS (Universal Character Set) π.χ. UCS-2, UCS-4 (Ο αριθμός υποδηλώνει τον αριθμό των bytes σε κάθε μονάδα). 28
Μέθοδοι κωδικοποίησης Unicode (Συνέχεια). κειμένου (9/9) Το ISO 10646 καθορίζει το Universal Character Set με ενιαία κωδικοποίηση. Η IETF απαιτεί όλα τα πρωτόκολλα Διαδικτύου να αναγνωρίζουν και να υποστηρίζουν ως σχήμα κωδικοποίησης χαρακτήρων τουλάχιστον το UTF-8. Τα Λ.Σ. Windows έχουν υιοθετήσει την κωδικοποίηση UTF-16. Τα Λ.Σ. UNIX, GNU/Linux, Mac OS X έχουν υιοθετήσει την κωδικοποίηση UTF-8. 29
Γλώσσες σήμανσης (1/2) Markup languages. Σημασμένο (Markup) κείμενο: Περιλαμβάνει ειδικές κωδικοποιήσεις που καθορίζουν τον τρόπο ερμηνείας της πληροφορίας που περιέχει. Π.χ. <p>this is a paragraph. It starts with the start tag for the 'p' element, and it will end with the end tag for the 'p elemen.</tp> <p>this is another paragraph. But this one is much shorter.</p> Μία γλώσσα σήμανσης (markup language) περιλαμβάνει ένα σύνολο σημείων σήμανσης (ετικετών) που δηλώνουν τον τρόπο οργάνωσης, παρουσίασης και σημασίας του κειμένου. 30
Γλώσσες σήμανσης (2/2) Μια γλώσσα σήμανσης πρέπει να καθορίζει: Ποια σύμβολα σήμανσης επιτρέπονται. Ποια σύμβολα σήμανσης απαιτούνται σε κάθε περίσταση. Πως τα σύμβολα σήμανσης διακρίνονται από το απλό κείμενο. Ποιο είναι το νόημα κάθε συμβόλου σήμανσης. Κυριότερες γλώσσες σήμανσης είναι οι SGML, HTML και XML. 31
Standard Generalized Markup Language - SGML (1/2) Η SGML δημιουργήθηκε από την IBM για να λυθεί το πρόβλημα της μη τυποποιημένης εμφάνισης κειμένων σε διάφορα υπολογιστικά συστήματα. H SGML είναι μια μεταγλώσσα (metalanguage) δηλαδή μια γλώσσα που χρησιμοποιείται για την περιγραφή γλωσσών σήμανσης. H SGML αποτελεί μία γενικευμένη γλώσσα σήμανσης μέσα από την οποία προέκυψαν άλλες ειδικές γλώσσες σήμανσης (π.χ. HTML, XML). 32
Standard Generalized Markup Language - SGML (2/2) Η SGML καθορίζει: a. Ποια σύμβολα σήμανσης επιτρέπονται. b. Ποια σύμβολα σήμανσης απαιτούνται σε κάθε περίσταση. c. Πως τα σύμβολα σήμανσης διακρίνονται από το απλό κείμενο. Για να καθοριστεί το νόημα κάθε συμβόλου σήμανσης από την SGML απαιτείται ειδικό Document Type Definition. 33
SGML Βασικά χαρακτηριστικά Έμφαση στην περιγραφική και όχι διαδικαστική σήμανση. H SGML ως γλώσσα σήμανσης δίνει βάρος και περιγράφει τη δομή του κειμένου και όχι την μορφοποίηση του. Ορισμός τύπου του εγγράφου (Document Type Definition). Οι σημάνσεις που χρησιμοποιούνται σε ένα SGML κείμενο πρέπει να συμφωνούν με ένα μοντέλο σημάνσεων (Document Type Definition, DTD) που ορίζεται στην αρχή του SGML κειμένου. Ανεξαρτησία από κάθε σύστημα κατά την αναπαράσταση του κειμένου (Data Independence). 34
Περιγραφική σήμανση (1/2) Descriptive Markup. Ένα σύστημα περιγραφικής σήμανσης χρησιμοποιεί ετικέτες με τις οποίες μπορεί να κατηγοριοποιήσει τα διάφορα μέρη του κειμένου. Π.χ. οι ετικέτες <para> ή \end{list} απλά προσδιορίζουν ότι ένα μέρος του κειμένου είναι πχ. παράγραφος ή το τέλος μιας λίστας. 35
Περιγραφική σήμανση (2/2) Αντίθετα μία διαδικαστική σήμανση καθορίζει τι είδους επεξεργασία πρέπει να εφαρμοστεί σε συγκεκριμένα σημεία του κειμένου. Π.χ. call procedure PARA with parameters 1, b and x here. Με βάση την περιγραφική σήμανση διαφορετικά λογισμικά μπορούν να επεξεργαστούν με διαφορετικό τρόπο τα διαφορετικά τμήματα του κειμένου. 36
Ορισμός τύπου εγγράφου (1/2) Document Type definition (DTD). Το Document Type Definition (DTD) περιέχει μια γραμματική σε γλώσσα μηχανής, η οποία καθορίζει τι επιτρέπεται και τι απαγορεύεται να υπάρχει μέσα στο έγγραφο. Τα έγγραφα (documents) θεωρούνται πως έχουν τύπο. Π.χ. ένα κείμενο που χαρακτηρίζεται ως «αναφορά» μπορεί να συμφωνηθεί ότι πρέπει να έχει «τίτλο», «συγγραφέα», «περίληψη» και μία ή περισσότερες «παραγράφους». 37
Ορισμός τύπου εγγράφου (2/2) Αν ο τύπος ενός εγγράφου είναι γνωστός μπορεί να αναγνωσθεί από ειδικό πρόγραμμα (parser) και να ελεγχθεί αν όλα τα προβλεπόμενα στοιχεία είναι παρόντα. Π.χ. σε ένα έγγραφο τύπου «αναφορά» να ελεγχθεί αν υπάρχει τίτλος, συγγραφέας, περίληψη και παράγραφοι. 38
Ανεξαρτησία δεδομένων Data Independence. Εξασφαλίζεται ότι τα έγγραφα που κωδικοποιούνται σύμφωνα με τις προδιαγραφές τους θα πρέπει να είναι μεταφέρσιμα από κάποιο περιβάλλον (software & hardware) σε οποιοδήποτε άλλο χωρίς απώλεια πληροφορίας. Η SGML (και XML) περιλαμβάνουν μηχανισμό αντικατάστασης μιας συμβολοσειράς από άλλη ώστε διαφορετικά υπολογιστικά συστήματα να «καταλαβαίνουν» τα σύνολα χαρακτήρων το ένα του άλλου. 39
Η δομή μιας γλώσσας σήμανσης Κάθε γλώσσα σήμανσης (markup language) που ορίζεται με βάση την SGML είναι μια εφαρμογή SGML. Μια εφαρμογή SGML περιλαμβάνει τα εξής βασικά έγγραφα: Δήλωση SGML (SGML Declaration): Καθορίζονται ποιοι χαρακτήρες και σύμβολα μπορούν να εμφανίζονται στην SGML εφαρμογή. Document Type Definition (DTD): Καθορίζει τη σύνταξη των marked up δομών της εφαρμογής. 40
Παράδειγμα εφαρμογής SGML <EMail> <sender> <person <firstname> Karen </firstname> <lastname> Lemone </lastname> </person> </sender> <receiver> <person> <distributionlist> cs525@cs </distributionlist> </person> </receiver> <contents>don't you agree this is really ugly?</contents> </EMail> 41
HyperText Markup Language - HTML (1/2) Η HTML (HyperText Markup Language) Γλώσσα Σήμανσης Υπερκειμένου στηρίζεται στο πρότυπο SGML. Είναι ένα Document Type Definition της SGML. Η HTML είναι η κύρια γλώσσα σήμανσης για τις ιστοσελίδες, και τα στοιχεία της είναι τα βασικά δομικά στοιχεία των ιστοσελίδων. Γράφεται υπό μορφή στοιχείων HTML τα οποία αποτελούνται από ετικέτες (tags), οι οποίες περικλείονται μέσα σε σύμβολα "<" και ">", για τη μορφοποίηση του κειμένου και άλλων στοιχείων πληροφορίας (πίνακες, λίστες, σύνδεσμοι, εικόνες, ήχοι, video, κ.ά.). 42
HyperText Markup Language - HTML (2/2) Παρέχει μεθόδους δημιουργίας δομημένων εγγράφων (που αποτελούνται από το περιεχόμενο που μεταφέρουν κι από τον κώδικα μορφοποίησης του περιεχομένου). Στην HTML μπορούν να ενσωματώνονται σενάρια εντολών σε γλώσσες όπως η JavaScript, που επηρεάζουν τη συμπεριφορά των ιστοσελίδων. Η πιο πρόσφατη έκδοση HTML5 (δημοσιεύτηκε το 2008 από το W3C). Παρότι η σύνταξη της μοιάζει αρκετά με την SGML, η HTML5 δεν προσπαθεί πλέον να αποτελεί εφαρμογή του SGML και ορίζεται ως αυτόνομη. 43
Περιορισμοί της HTML (1/2) Εστιάζει μόνο στην παρουσίαση του περιεχομένου. Οι ετικέτες απλά καθορίζουν τον τρόπο παρουσίασης του κειμένου. Έχει ευέλικτη και όχι σαφή σύνταξη. Επιτρέπει ποικίλες ερμηνείες των ετικετών. Δύσκολη η ανάπτυξη δυναμικών ιστοσελίδων που ελέγχονται από γλώσσες script, όπως πχ η JavaScript. Δεν επιτρέπει νέες ετικέτες. Διαθέτει καθορισμένο σύνολο ετικετών. 44
Περιορισμοί της HTML (2/2) Περιορισμένες δυνατότητες αναζήτησης. Η αναζήτηση γίνεται με βάση το κείμενο και είναι πολλές φορές ανεπιτυχής. π.χ. η λέξη «Αετός» μπορεί να αναφέρεται σε πουλί, σε μια ομάδα, ή σε μια εταιρία. Απαιτήσεις για υψηλό εύρος ζώνης. Η επικοινωνία με τις βάσεις δεδομένων σε δίκτυο γίνεται με συνεχή μεταφορά πληροφορίας από και προς τους εξυπηρετητές (servers). Δεν μπορεί να υποστηρίξει αποδοτική επεξεργασία της πληροφορίας κειμένου στον client. 45
Παράδειγμα ΗΤML (1/2) <!DOCTYPE html> <html> <head> <title>hello HTML</title> </head> <body> <p>hello world</p> </body> </html> 46
Παράδειγμα ΗΤML (2/2) Το κείμενο ανάμεσα στο <html> και το </html> περιγράφει την ιστοσελίδα. Το κείμενο μεταξύ του <body> και του </body> είναι το ορατό μέρος της. Το σημασμένο κείμενο <title>hello HTML</title> καθορίζει τον τίτλο που θα εμφανίζεται στην μπάρα τίτλου του browser. Το DTD <!DOCTYPE html> στον πιο πάνω κώδικα είναι για την HTML5. Ο αρχικός σκοπός του doctype ήταν να επιτρέπει την ανάλυση κι επιβεβαίωση των εγγράφων HTML από εργαλεία SGML τα οποία ήταν βασισμένα στο DTD. 47
extensible Markup Language - XML (1/2) H extensible Markup Language (XML) είναι μία γλώσσα σήμανσης, που περιέχει ένα σύνολο κανόνων για την ηλεκτρονική κωδικοποίηση κειμένων με ισχυρή υποστήριξη Unicode για όλες τις γλώσσες του κόσμου. H XML δεν προκαθορίζει τη λειτουργία των ετικετών. Χρησιμοποιεί ετικέτες μόνο για να οριοθετήσει τη μορφή οργάνωσης των δεδομένων. Κάθε έγγραφο XML πρέπει να αναφέρεται σε ένα έγγραφο DTD για την ερμηνεία των ετικετών και των δεδομένων (οντολογία). 48
extensible Markup Language - XML (2/2) Η XML σχεδιάστηκε δίνοντας έμφαση στην απλότητα, τη γενικότητα και τη χρησιμότητα στο Διαδίκτυο. Χρησιμοποιείται ευρέως για την αναπαράσταση αυθαίρετων δομών δεδομένων, που προκύπτουν για παράδειγμα στις υπηρεσίες παγκόσμιου ιστού (World Wide Web). Έχουν αναπτυχθεί εκατοντάδες γλώσσες που βασίζονται στην XML συμπεριλαμβανομένων των RSS, SOAP και XHTML. 49
XML - Βασικά στοιχεία (1/4) Χαρακτήρας Unicode. Ένα κείμενο XML είναι μία ακολουθία χαρακτήρων. Επεξεργαστής και Εφαρμογή. Είναι το λογισμικό που επεξεργάζεται ένα κείμενο. Ο επεξεργαστής αναφέρεται συχνά, με τον όρο XML parser. 50
XML - Βασικά στοιχεία (2/4) Σήμανση και Περιεχόμενο. Οι χαρακτήρες που απαρτίζουν ένα κείμενο XML αποτελούν είτε τη σήμανση είτε το περιεχόμενό του. Μπορούν να επισημανθούν και να διακριθούν, ύστερα από την εφαρμογή κάποιων απλών συντακτικών κανόνων. Για τη σήμανση, χρησιμοποιούνται είτε οι "<" και ">", είτε οι "&" και ";". 51
XML - Βασικά στοιχεία (3/4) Ετικέτα. Υπάρχουν τρία είδη ετικέτας: Ετικέτες-αρχής, π.χ. <section>. Ετικέτες-χωρίς-περιεχόμενο, π.χ. <line-break/>. Ετικέτες-τέλους, π.χ. </section>. Στοιχείο. Ένα λογικό απόσπασμα ενός κειμένου, που είτε ξεκινά με μία ετικέτα-αρχής και καταλήγει σε μία ετικέτα-τέλους, (π.χ. <Greeting>Hello, world.</greeting>), είτε αποτελείται μόνο από μία ετικέτα-χωρίς-περιεχόμενο: (π.χ. <line-break/>). 52
XML - Βασικά στοιχεία (4/4) Χαρακτηριστικό. Ένα στοιχείο σήμανσης που αποτελείται από ένα ζευγάρι όνομα/τιμή, το οποίο υπάρχει μέσα σε μία ετικέτα-αρχής ή σε μία ετικέτα-χωρίς-περιεχόμενο. Π.χ. το στοιχείο img έχει δύο χαρακτηριστικά, τα src και alt: <img src="madonna.jpg" alt='by Raphael'/>. Π.χ. <step number="3">connect A to B.</step>, όπου το όνομα του χαρακτηριστικού είναι "number" και η τιμή του είναι "3". Δήλωση XML. Τα κείμενα XML μπορούν να αρχίζουν, με τη δήλωση κάποιων πληροφοριών σχετικών με αυτά. Π.χ. <?xml version="1.0" encoding="utf-8"?>. 53
Παράδειγμα ΧML (1/2) <?xml version="1.0" encoding='utf-8'?> <painting> <img src="madonna.jpg" alt='foligno Madonna, by Raphael'/> <caption>this is Raphael's "Foligno" Madonna, painted in <date>1511</date>-<date>1512</date>.</caption> </painting> 54
Παράδειγμα ΧML (2/2) Υπάρχουν πέντε στοιχεία σε αυτό το κείμενο του παραδείγματος: Painting, img, caption, και δύο date. Τα στοιχεία date, είναι παιδιά του στοιχείου caption, το οποίο είναι παιδί του στοιχείου-ρίζας painting. Το στοιχείο img έχει δύο χαρακτηριστικά, τα src και alt. 55
SGML HTML & XML (1/2) HTML. Είναι εφαρμογή της SGML / Αποτελεί ένα DTD της SGML. Χαλαρή σύνταξη και δομή. Εστιάζει στην παρουσίαση της πληροφορίας. Σταθερό σύνολο ετικετών. 56
SGML HTML & XML (2/2) XML. Λειτουργικό υποσύνολο της SGML. Αυστηρή σύνταξη και δομή. Εστιάζει στην αναπαράσταση μιας δομής (οντολογίας) με μορφή κειμένου. Ευέλικτη δημιουργία νέου συνόλου ετικετών για την αναπαράσταση της οντολογίας. 57
Εισαγωγή κειμένου (1/4) Πληκτρολόγηση - Σύνθεση κειμένου. Κειμενογράφοι (text editors). Π.χ. Notepad, Notepad++, Emacs, Sublime Text, Vi/Vim. Επεξεργαστές κειμένου (word processors). Π.χ. Microsoft Word, WordPad, OpenOffice / LibreOffice Writer. Συστήματα Ηλεκτρονικής Τυπογραφίας. Π.χ. TeX, LaTex, Adobe PageMaker, Adobe InDesign, QuarkXPress. Σάρωση και οπτική αναγνώριση χαρακτήρων (Σύλληψη κειμένου). 58
Εισαγωγή κειμένου (2/4) Πληκτρολόγηση - Σύνθεση κειμένου (Συνέχεια). Σάρωση έντυπου εγγράφου Μετατροπή σε ψηφιακή εικόνα. Οπτική αναγνώριση χαρακτήρων (OCR) Μετατρέπει σύμβολα στην ψηφιακή εικόνα σε χαρακτήρες κειμένου. Δυνατότητα επιπλέον εκπαίδευσης. Προσεγγίζει ποσοστό αναγνωσιμότητας έως 100%, σε οποιοδήποτε κείμενο. Φωνητική υπαγόρευση και μετατροπή σε κείμενο (Speech-to-Text). 59
Εισαγωγή κειμένου (3/4) Πράξεις χαρακτήρων. Αναζήτηση, σύνθεση. Πράξεις συμβολοσειρών. Συνένωση, σύγκριση, αναζήτηση. Επεξεργασία κειμένου. Αντιγραφή, επικόλληση, εισαγωγή. Μορφoποίηση κειμένου. 60
Εισαγωγή κειμένου (4/4) Η διαδικασία επιβολής κάποιων χαρακτηριστικών εμφάνισης στο κείμενο. Επιλογή Τυπογραφικών Στοιχείων (Font). Μορφοποίηση Τυπογραφικών Στοιχείων. Δόμηση Κειμένου. Εισαγωγή Υπερσυνδέσμων (Hyperlink). Επιπλέον, δίνεται η δυνατότητα μίξης του κειμένου με εικόνες, διαγράμματα ακόμα και ήχους ή άλλα μη εκτυπώσιμα αντικείμενα, δημιουργώντας έτσι ένα νέο είδος κειμένου: Το ηλεκτρονικό πολυμεσικό κείμενο (multimedia document). 61
Οδηγίες μορφοποίησης κειμένου (1/2) Όχι χρήση πολλών διαφορετικών οικογενειών γραμματοσειρών. Έμφαση, όταν χρειάζεται, είτε μέσω στοιχείων μεγαλύτερου μεγέθους ή μέσω έντονων ή πλάγιων στοιχείων (πάντα από την ίδια οικογένεια γραμματοσειρών). Μέγεθος στοιχείων ανάλογα με την έμφαση που πρέπει να δoθεί. Απόσταση μεταξύ γραμμών, κενά, περιθώρια, στοίχιση. Αντίθεση χρώματος κειμένου και φόντου (background). 62
Οδηγίες μορφοποίησης κειμένου (2/2) Εικόνα 1: Μορφοποίηση κειμένου. Πηγή: Διδάσκων (2015). 63
Οργάνωση κειμένου WYSIWYG (What You See is What You Get). Κάθε αλλαγή στο φορμάρισμα εμφανίζεται στην οθόνη ακριβώς όπως θα τυπωθεί στον εκτυπωτή. MarkUp Text (Σημασμένο Κείμενο). Δύο είδη πληροφοριών: Η μορφή του κειμένου πάνω στη σελίδα. Το νοηματικό του περιεχόμενο. Μίξη του κανονικού κειμένου με οδηγίες παρουσίασης ετικέτες (tags). Π.χ. <center> Αυτή είναι μια γραμμή </center>. Η εμφάνιση του φορμαρισμένου κειμένου στην οθόνη γίνεται με τη βοήθεια άλλης εφαρμογής (HTML vs XML). 64
Γραμματοσειρές (1/3) Γραμματοσειρά (font). Οικογένεια τυπογραφικών στοιχείων με κοινά ιδιαίτερα χαρακτηριστικά εμφάνισης, όπως Arial, Times New Roman κλπ. Τυπικά στυλ γραμματοσειρών είναι boldface και italic. Άλλα στυλ αφορούν χαρακτηριστικά όπως η υπογράμμιση ή διαγράμμιση των χαρακτήρων. Μέγεθος γραμματοσειράς συνήθως εκφράζεται σε στιγμές (points). Κάθε στιγμή (pt) είναι 0,0375cm ή 1/72 μιας ίντσας (2,54cm). 65
Γραμματοσειρές (2/3) Οικογένεια γραμματοσειρών - typeface. Σύνολο γραμματοσειρών με καθορισμένα στυλ εμφάνισης και μεγέθη για κάθε χαρακτήρα. Οι πιο γνωστές οικογένειες γραμματοσειρών είναι οι Serif, Sans Serif, Monospaced, Blackletter, Script (Calligraphic, Handwriting, κ.ά.). 66
Γραμματοσειρές (3/3) Οικογένεια γραμματοσειρών - typeface (Συνέχεια). Π.χ. η οικογένεια γραμματοσειρών Sans Serif (χωρίς ακρεμόνες) περιλαμβάνει τις γραμματοσειρές Arial, Helvetica, MS Sans Serif, Tahoma, Verdana, κ.ά., ενώ η οικογένεια γραμματοσειρών Serif (με ακρεμόνες) περιλαμβάνει τις γραμματοσειρές Garamond, MS Serif, Times New Roman, κ.ά. Εικόνα 2: Οικογένεια γραμματοσειρών Sans Serif. Πηγή: Διδάσκων (2015). 67
Χαρτογραφικές γραμματοσειρές (1/2) Οι χαρτογραφικές γραμματοσειρές (bitmap fonts) περιγράφονται σαν ένα πλέγμα (πληροφορία εικονοστοιχείων). Γρήγορη επεξεργασία και απεικόνιση. Αυξημένες απαιτήσεις χώρου αποθήκευσης. Χαμηλή ποιότητα μετά από κάποιο. μετασχηματισμό (όπως μεγέθυνση ή περιστροφή). Είναι εξαρτημένες από τη μονάδα εξόδου. 68
Χαρτογραφικές γραμματοσειρές (2/2) Εικόνα 3: Χαρτογραφική γραμματοσειρά. Πηγή: Διδάσκων (2015). 69
Διανυσματικές γραμματοσειρές (1/2) Οι διανυσματικές γραμματοσειρές (vector fonts) περιγράφονται με μαθηματικό τρόπο, γεγονός που διορθώνει τα ελαττώματα των χαρτογραφικών γραμματοσειρών αλλά αυξάνει το χρόνο εκτύπωσης. Εικόνα 4: Διανυσματική γραμματοσειρά. Πηγή: Διδάσκων (2015). 70
Διανυσματικές γραμματοσειρές (2/2) PostScript Type 1 fonts αναπτύχθηκαν από την Adobe Systems στη δεκαετία 1980. Οι γραμματοσειρές PostScript είναι ομαλές, αναλυτικές και υψηλής ποιότητας. Βασίστηκαν στην τεχνολογία εκτύπωσης PostScript, μια γλώσσα προγραμματισμού που επιτρέπει έξοδο υψηλής ανάλυσης σε κλιμακούμενα γραφικά. Χρησιμοποιούνται συχνά για εκτυπώσεις, ειδικά για εργασίες επαγγελματικής ποιότητας, στo χώρο της γραφιστικής, των εκδόσεων και της τυπογραφίας. 71
Διανυσματικές γραμματοσειρές - TrueType fonts TrueType fonts αναπτύχθηκαν από Microsoft και Apple στα τέλη της δεκαετίας 1980. Οι γραμματοσειρές TrueType παρέχουν δυνατότητα αυξομείωσης σε οποιοδήποτε μέγεθος και παραμένουν ευκρινείς κι ευανάγνωστες ανεξάρτητα από το μέγεθος τους. Μπορούν να αποσταλούν σε οποιονδήποτε εκτυπωτή ή άλλη συσκευή εξόδου που υποστηρίζεται από τα Windows και Mac OS. 72
Διανυσματικές γραμματοσειρές - OpenType fonts (1/2) OpenType fonts αναπτύχθηκαν από τις Microsoft και Adobe Systems στις αρχές της δεκαετίας 2000. Οι γραμματοσειρές OpenType περιλαμβάνουν τα καλύτερα χαρακτηριστικά από τους τύπους PostScript Type 1 ή TrueType με επιπρόσθετα σύνολα χαρακτήρων. Οι γραμματοσειρές OpenType παρέχουν επίσης τη δυνατότητα αυξομείωσης σε οποιοδήποτε μέγεθος και παραμένουν ευκρινείς και ευανάγνωστες ανεξάρτητα από το μέγεθος τους. Μπορούν να αποσταλούν σε οποιονδήποτε εκτυπωτή ή άλλη συσκευή εξόδου που υποστηρίζεται από τα Windows και Mac OS. 73
Διανυσματικές γραμματοσειρές - OpenType fonts (2/2) Οι γραμματοσειρές OpenType βασίζονται στη χρήση κωδικοποίησης Unicode με εκτεταμένη υποστήριξη ομάδων χαρακτήρων (γλωσσών). Τα OpenType fonts πλεονεκτούν σε σχέση με τα PostScript και TrueType fonts επειδή περιέχουν περισσότερους χαρακτήρες και μπορούν να υποστηρίξουν περισσότερες γλώσσες, καθώς κι επιπλέον τυπογραφικά χαρακτηριστικά όπως: μικρά κεφαλαία (small caps), χαρακτήρες παλαιού ύφους (old style figures), εναλλακτικούς χαρακτήρες (alternate characters), συμπλέγματα (ligatures), κλάσματα (fractions), αριθμούς παλαιού τύπου (old style numerals), κλπ. 74
Εκτύπωση κειμένου (1/3) Ψηφιογραφική (bitmap) περιγραφή του κειμένου Ο εκτυπωτής δέχεται αναλυτικές οδηγίες (χάρτη δυαδικών ψηφίων). Γλώσσα περιγραφής σελίδας (Page Description Language - PDL). Ο εκτυπωτής κάνει την εκτύπωση με βάση γενικές εντολές που στέλνει ο υπολογιστής (περιγράφοντας την εμφάνιση του κειμένου) σε μια λεπτομερή γλώσσα περιγραφής σελίδας (PDL). 75
Εκτύπωση κειμένου (2/3) Ψηφιογραφική (bitmap) περιγραφή του κειμένου (Συνέχεια). Κύριο πλεονέκτημα της γλώσσας περιγραφής σελίδας (PDL), σε σχέση με την ψηφιογραφική περιγραφή του κειμένου, είναι η ανεξαρτησία της από την ανάλυση της συσκευής εξόδου (εκτυπωτής). Η πιο διαδεδομένη γλώσσα περιγραφής σελίδας είναι η PostScript της εταιρείας Adobe Systems, που χρησιμοποιείται ευρέως από εκτυπωτές Laser κι άλλες μονάδες εξόδου υψηλής ανάλυσης, επαγγελματικής ποιότητας. 76
Εκτύπωση κειμένου (3/3) Ψηφιογραφική (bitmap) περιγραφή του κειμένου (Συνέχεια). Μια άλλη διαδεδομένη γλώσσα περιγραφής σελίδας είναι η PCL (Printer Control Language) της εταιρείας Hewlett Packard, που χρησιμοποιείται ευρέως για καθημερινές ανάγκες εκτύπωσης σε εκτυπωτές Inkjet ή Laser. 77
Κείμενο και εφαρμογές Κείμενο περιβάλλοντος. πολυμέσων Τίτλοι για τον καθορισμό ενοτήτων, κουμπιά πλοήγησης, μενού επιλογών κ.α. Κείμενο περιεχομένου. Παρέχει ουσιαστική πληροφόρηση. Σαφές, σύντομο, αισθητικά ευχάριστο και να εμφανίζεται στην κατάλληλη θέση της οθόνης. 78
Μορφές διαχείρισης κειμένου σε εφαρμογές πολυμέσων Μορφή Χαρακτήρων. Πρόβλημα με τη διαθεσιμότητα των γραμματοσειρών. Μορφή Εικόνας. Κείμενο εισάγεται ως αρχείο εικόνας, πχ. bmp, jpeg, κ.ά. Ανεξαρτησία μορφής κειμένου από πλατφόρμα παρουσίασης. Μορφή φορητού εγγράφου (Portable Document Format - PDF). Διατηρούνται τα αυθεντικά χαρακτηριστικά του κειμένου. Απαιτείται κατάλληλο πρόγραμμα ανάγνωσης αρχείων PDF. 79
Σύνοψη (1/4) Ομάδες Χαρακτήρων. Σύνολα κωδικοποιημένων χαρακτήρων. Μέθοδοι κωδικοποίησης. ASCII. Κωδικοσελίδες (ISO & Windows). Unicode. Φόρμες κωδικοποίησης (UTF-8, UTF-16, UTF-32, UCS-2, UCS-4). 80
Σύνοψη (2/4) Γλώσσες σήμανσης (Markup language). SGML. Μεταγλώσσα για την περιγραφή γλωσσών σήμανσης. Έμφαση στην περιγραφική (και όχι διαδικαστική) σήμανση. Document Type Definition (DTD). Ανεξαρτησία από κάθε σύστημα κατά την αναπαράσταση του κειμένου. 81
Σύνοψη (3/4) HTML. Εφαρμογή της SGML / Document Type Definition της SGML. Κύρια γλώσσα σήμανσης για τις ιστοσελίδες. Εστιάζει στην παρουσίαση του περιεχομένου. XML. Ειδική εκδοχή της SGML. Εστιάζει στην αναπαράσταση μιας δομής δεδομένων (οντολογίας). 82
Σύνοψη (4/4) Εισαγωγή κειμένου στον Η/Υ (Σύνθεση-Σύλληψη). Γραμματοσειρές & Οικογένειες Γραμματοσειρών. Ψηφιογραφικές & Διανυσματικές γραμματοσειρές. Εκτύπωση κειμένου (Ψηφιογραφική-Γλώσσα περιγραφής σελίδας. Διαχείριση κειμένου σε εφαρμογές πολυμέσων. 83
Σημείωμα Αναφοράς Copyright ΤΕΙ Δυτικής Μακεδονίας, Νικολάου Σπύρος. «Τεχνολογία Πολυμέσων». Έκδοση: 1.0. Κοζάνη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: 84
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 85
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 86
Βιβλιογραφία 1. Τεχνολογία πολυμέσων, Δημητριάδης Σταύρος Ν., Πομπόρτσης Ανδρέας Σ., Τριανταφύλλου Ευάγγελος Γ. 2. Συστήματα Πολυμέσων: Αλγόριθμοι, Πρότυπα και Εφαρμογές, Havaldar P., Medioni G. 3. Πολυμέσα Αναλυτικός Οδηγός, 8η Έκδοση, Tay Vaughan. 4. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες, Γεώργιος Β. Ξηλωμένος, Γεώργιος Κ. Πολύζος. 87
Τέλος Ενότητας