RSS

Zapomniane możliwości Unikodu: formularze

Liczba odsłon: 104

Gdy za­cho­dzi po­trze­ba na­ry­so­wa­nia ta­be­li, za­pi­sa­nia skom­pli­ko­wa­ne­go wzo­ru ma­te­ma­tycz­ne­go lub che­micz­ne­go al­bo przy­go­to­wa­nia pro­to­ty­pu inter­fej­su użyt­kow­ni­ka, częs­to się­ga­my po skom­pli­ko­wa­ne na­rzę­dzia. Pozwala­ją one oszczę­dzić czas, a w przy­pad­ku apli­kac­ji sie­cio­wych zy­sku­je­my do­dat­ko­wo wbu­do­wa­ną ob­słu­gę współ­dzie­le­nia wy­ni­ku pra­cy. Doświad­cze­ni in­for­ma­ty­cy ce­nią so­bie jed­nak pra­cę z moż­li­wie naj­prost­szą for­mą in­for­mac­ji, da­ją­cą naj­więk­sze moż­li­woś­ci jej prze­twa­rza­nia i współ­dzie­le­nia.

Mało kto wie, że ze­staw zna­ków Uni­code za­wie­ra pod­zbiór umoż­li­wia­ją­cy kreś­le­nie obra­mo­wań. Weterani sys­te­mu MS-DOS od ra­zu po­zna­ją więk­szość sym­bo­li, a nie­któ­rym być mo­że przed oczy­ma sta­ną ram­ki pro­gra­mu Norton Comman­der, któ­ry za po­mo­cą tych zna­ków na wie­le lat usta­lił este­ty­kę śro­do­wis­ka pra­cy dla kom­pu­te­rów kla­sy IBM PC.

Narzędzie Tablica znaków systemu Windows 7

Dzisiaj, w erze wy­so­ko­roz­dziel­czych gra­ficz­nych inter­fej­sów użyt­kow­ni­ka, ta­kie obra­mo­wa­nia mo­gą wy­da­wać się ana­chro­nicz­ne. Tekstowa po­stać in­for­mac­ji ma jed­nak wie­le za­let, któ­re do­strze­ga się do­pie­ro w cza­sie reali­zo­wa­nia du­żych pro­jek­tów:

  1. Każdy dys­po­nu­je na­rzę­dzia­mi do edy­cji tek­stu. Nawet Notatnik w sys­te­mie Win­dows po­zwa­la edy­to­wać (choć w ma­ło wy­god­ny spo­sób) zbio­ry tek­sto­we za­pi­sa­ne w Uni­ko­dzie i ko­rzy­stać z moż­li­woś­ci two­rze­nia obra­mo­wań.
  2. Zbiory tek­sto­we moż­na łat­wo prze­sy­łać pocz­tą elek­tro­nicz­ną, umie­szczać na ser­we­rach sie­cio­wych i udo­stęp­niać, na przy­kład za po­mo­cą pro­to­ko­łu HTTP. Poza wy­jąt­ko­wy­mi przy­pad­ka­mi, nie mo­gą one prze­no­sić wi­ru­sów.
  3. Tekst mo­że być łat­wo prze­cho­wy­wa­ny w re­po­zy­to­rium ko­du. Dokony­wa­ne zmia­ny są za­pa­mię­ty­wa­ne ja­ko ła­ty (ang. pat­ches) uwzględ­nia­ją­ce kon­tekst i za­kres zmian, co umoż­li­wia in­teg­ro­wa­nie po­pra­wek do­ko­ny­wa­nych przez wie­le osób oraz prze­gląd za­kre­su i wy­co­fy­wa­nie nie­po­żą­da­nych mo­dy­fi­ka­cji. W przy­pad­ku zbio­rów bi­nar­nych zmia­ny są ca­ło­ścio­we i trud­no jest je prze­glą­dać lub ana­li­zo­wać.
  4. Istnieje mnóst­wo na­rzę­dzi do zauto­ma­ty­zo­wa­ne­go prze­twa­rza­nia du­żych iloś­ci tek­stu: wy­szu­ki­wa­nia in­for­mac­ji, al­go­ryt­micz­ne­go zmie­nia­nia treś­ci, ge­ne­ro­wa­nia pod­su­mo­wań.

Owszem, je­że­li przy­go­to­wu­je się bar­dzo skom­pli­ko­wa­ny pro­jekt gra­ficz­ny, uży­cie spe­cja­li­zo­wa­ne­go na­rzę­dzia mo­że oszczę­dzić spo­ro cza­su. Ten czas mo­że zo­stać jed­nak zmar­no­wa­ny przez współ­pra­cow­ni­ków, zmu­szo­nych do in­sta­lo­wa­nia no­we­go na­rzę­dzia (lub kon­fi­gu­ro­wa­nia kom­pu­te­ra tak, by po­praw­nie dzia­ła­ło), a na­stęp­nie ucze­nia się je­go ob­słu­gi. Format tek­sto­wy jest na­tu­ral­ny dla każ­de­go, kto umie ko­rzy­stać z funk­cji „ko­piuj” i „wklej” oraz zna zna­cze­nie kla­wi­sza Insert.

Załóżmy, że chce­my przy­go­to­wać pro­jekt for­mu­la­rza na stro­nę WWW, któ­ry ma zo­stać do­łą­czo­ny do za­da­nia w sys­te­mie ob­słu­gi pro­jek­tu oraz za­miesz­czo­ny w re­po­zy­to­rium w dzia­le do­ku­men­ta­cji. Zamiast uru­cha­miać Visio lub szu­kać apli­kac­ji sie­cio­wej umoż­li­wia­ją­cej szki­co­wa­nie GUI, moż­na uru­cho­mić Notatnik (lub ja­ką­kol­wiek rów­no­waż­ną apli­ka­cję) i za­cząć ry­so­wać:

                       ┌──────────────────────────────────────────┬─┐
        Dane źródłowe: │ ..................                       │↑│
                       │ ...........                              ├─┤
                       │ .........................                │▒│
                       │ ............................             ├─┤
                       │ ....                                     │↓│
                       └──────────────────────────────────────────┴─┘
                       ┌──────────────────────────────────────────┬─┐
        Strona kodowa: │ Windows 1250                             │↓│
                       └──────────────────────────────────────────┴─┘
                                       ┌────────────────────────────┐
         Zbiór danych: (●) nowy        │ dane jakies tam            │
                                       └────────────────────────────┘
                                       ┌──────────────────────────┬─┐
                       ( ) istniejący  │ dane jakies tam          │↓│
                                       └──────────────────────────┴─┘
                       ┌────────────────────────────────────────────┐
    Nazwa typu danych: │ nowa nazwa typu danych                     │
                       └────────────────────────────────────────────┘
                       ┌────────────────────────────╖
  Definicje atrybutów: │ Wykryj z danych źródłowych ║
                       ╘════════════════════════════╝

W do­ku­men­ta­cji moż­na też umieś­cić do­wol­ny wzór ma­te­ma­tycz­ny:

+∞
 ⌠            x² + y²
 │f(x,y)dx = ─────────
 ⌡              √3
-∞

Nawet ta­be­la nie sta­no­wi prob­le­mu:

┌────┬─────────────┬───────────────────┬───────┐
│ Lp │        Imię │ Nazwisko          │ Ocena │
╞════╪═════════════╪═══════════════════╪═══════╡
│  1 │         Jan │ Kowalski          │   3.5 │
├────┼─────────────┼───────────────────┼───────┤
│  2 │        Anna │ Nowak             │   4.0 │
├────┼─────────────┼───────────────────┼───────┤
│  3 │    Eustachy │ Eustachowicz      │   5.0 │
└────┴─────────────┴───────────────────┴───────┘

Są oso­by (choć już co­raz mniej licz­ne), któ­re uśmie­cha­ją się, wi­dząc po­wyż­sze przy­kła­dy. To użyt­kow­ni­cy za­pom­nia­nych już dziś nie­co edy­to­rów tek­stu Chi­Wri­ter oraz TAG, w któ­rych, oprócz zwyk­łych zna­ków, do­stęp­ne by­ły rów­nież czcion­ki sym­bo­licz­ne, po­zwa­la­ją­ce na ry­so­wa­nie for­mu­la­rzy, wzo­rów i ta­bel. Obydwa za­wie­ra­ły na­rzę­dzia umoż­li­wia­ją­ce kreś­le­nie ta­bel i ra­mek, a Chi­Wri­ter za po­mo­cą sys­te­mu po­dzia­łu wier­sza na wie­le zsyn­chro­ni­zo­wa­nych po­zio­mów zna­czą­co ułat­wiał two­rze­nie skom­pli­ko­wa­nych wzo­rów ma­te­ma­tycz­nych i che­micz­nych.

Alterna­ty­wą dla czys­to tek­sto­we­go za­pi­su jest ko­rzy­sta­nie z ję­zy­ka HTML. Jest to szcze­gól­nie do­bry po­mysł, je­że­li do zbu­do­wa­nia jest skom­pli­ko­wa­ny for­mu­larz, pro­jekt po­la dia­lo­go­we­go al­bo roz­bu­do­wa­na ta­be­la. Stworze­nie właś­ci­we­go ar­ku­sza sty­lu CSS po­zwa­la two­rzyć na­wet for­mu­la­rze do złu­dze­nia przy­po­mi­na­ją­ce po­la dia­lo­go­we do­wol­ne­go sys­te­mu opera­cyj­ne­go, o czym opo­wiem w jed­nym z ko­lej­nych wpi­sów.