Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren...

30
© Zühlke 2015 Software in Medizingeräten effektiv internationalisieren Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015

Transcript of Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren...

Page 1: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Software in Medizingeräten effektiv internationalisierenSoftware in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015

Page 2: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Probleme

• Zu wenig Speicher für Schriftarten

• Displayauflösung zu gering

• Unpassendes UI-Design

• Unzureichende Frameworks

• Schlechte Datenstrukturen für Strings

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Aus dem Projektalltag

Page 3: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Motivation für i18n

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Usability

Page 4: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Motivation für i18n

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Safety

Page 5: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Motivation für i18n

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Akzeptanz

Page 6: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Projektsituation

• Entwicklung weit fortgeschritten

• Englisch und Deutsch funktionieren bereits

• Weitere Zielsprachen noch unklar

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Gerät in Entwicklung

Page 7: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Neue Anforderung

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Unterstützung für Japanisch

Page 8: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Page 9: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Character Set“A character set simply provides acommon bucket, repertoire, or collection of characters.”

Ken Lunde, CJKV Information Processing

Page 10: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Coded Character Set“A mapping from a set of abstract characters to a set of integers.”

Ken Lunde, CJKV Information Processing

Page 11: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Große Auswahl

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Den richtigen Character Set finden

• International und länderspezifisch

• Oft normiert

• ASCII noch immer verbreitet

• Empfehlung: Unicode

Page 12: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Zu viele Zeichen

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Auf Untermenge festlegen

ASCII128

JIS X 0213:2004 4354

Unicode BMP 65536

Unicode120737

Page 13: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Datenstrukturen

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Wie stelle ich Character Codes in Software dar?

Page 14: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

ASCII

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Beispiel

H e a l t h

[0x48,0x65,0x61,0x6C,0x74,0x68]

Page 15: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Encoding Form

„A character encoding form plus byte serialization “

Glossary of theUnicode Consortium

„Mapping from a character set definition to the actual code units used to represent the data.”

Encoding Scheme

Page 16: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Encodings

健康

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Warum ist das wichtig?

UTF-8:0xE5,0x81,0xA5,0xE5,0xBA,0xB7

UTF-16LE:0x65,0x50,0xB7,0x5E

UTF-32BE:0x00,0x00,0x50,0x65,0x00,0x00,0x5E,0xB7

U+5065 U+5EB7 臥?랺

Page 17: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Schon wieder eine große Auswahl

• ASCII noch verbreitet

• Manche Character Sets geben Encoding vor

• Unicode definiert mehrere

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Das richtige Encoding finden

Page 18: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Endianess / Byte-Order

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Eigentlich ganz einfach, aber…

Page 19: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Endianess

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Warum ist das wichtig?

Little Endian (UTF-16LE):

0x65, 0x50, 0xB7, 0x5E

Big Endian (UTF-16BE):

0x50, 0x65, 0x53, 0xb7

敐띞

健康

0x5065 0x5EB7

Page 20: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

UTF-8

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Eigenschaften

H 0x48

¥ 0xC2, 0xA5

健 0xE5, 0x81, 0xA5

𠀷 0xF0, 0xA0, 0x80, 0xB7

Page 21: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

UTF-16

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Eigenschaften

H 0x0048

¥ 0x00A5

健 0x5065

𠀷 0xD840,0xDC37

Page 22: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

UTF-32

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Eigenschaften

H 0x00000048

¥ 0x000000A5

健 0x00005065

𠀷 0x00020037

Page 23: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Anzeige

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Wie stelle ich meine Zeichen dar?

Page 24: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Font“A collection of glyphs usedfor the visual depictionof character data.”

Glossary of theUnicode Consortium

Glyph“A specific instance of a character.”

Ken Lunde, CJKV Information Processing

Page 25: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Bitmap Font

• Pixel-Matrix

• Leicht darzustellen

• Vorhersagbar

• Keine Skalierung

• Hoher Speicherbedarf

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Vor- und Nachteile

Page 26: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Anti-Aliasing

• Schöneres Schriftbild

• Wird üblicherweise erwartet

• Erhöht Speicherbedarf bei Bitmap Fonts

• Darstellung komplexer

• Überprüfung schwieriger

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Auswirkungen

Page 27: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Outline Font

• Mathematisch beschrieben

• Rendering-Engine nötig

• Schlecht vorhersagbar

• Skalierung kein Problem

• Geringer Speicherbedarf

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Vor- und Nachteile

Page 28: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Zusammenfassung

•Character Set•Encoding•Font

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Was haben wir betrachtet?

Page 29: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

Zusammenfassung

15. Oktober 2015Software in Medizingeräten effektiv internationalisieren | Tobias Kniep

Und was nicht?

• Übersetzung

• Texteingabe

Page 30: Software in Medizingeräten effektiv …...Software in Medizingeräten effektiv internationalisieren | Tobias Kniep 15. Oktober 2015 Warum ist das wichtig? Little Endian (UTF-16LE):

© Zühlke 2015

[email protected]