X


[ Pobierz całość w formacie PDF ]
.Wprowadzanie danych przez u�ytkownikaKa�dy, kto walczy� ze standardowymi funkcjami scanf(3), wie, �e obs�uga danychwyj�ciowych to po prostu bu�ka z mas�em.Prawdziwy programista musi po prostumie� smyka�k� do obs�ugi wej�cia.Dotyczy to równie� wej�cia I18N.Mówi�cdok�adnie, to nie samo wej�cie stwarza problemy; problemem jest rozpoznawanieznaczenia strumienia danych.Wczytanie danych wej�ciowych do bufora jestwykonywane tylko raz, ale program mo�e potrzebowa� kilku przej�� przezposzczególne segmenty strumienia wej�ciowego, aby odpowiednio go przetworzy�.Dlatego w�a�nie zaprzysi�gli programi�ci j�zyka C nie martwi� si�ograniczeniami fscanf(3), ale po prostu korzystaj� albo z fgets(3), albo zfread(3).Dzi�ki temu program mo�e wypróbowa� kilka ró�nych konwersji danychwprowadzonych przez u�ytkownika, a nie od razu zak�ada� np.poprawno��konwersji za pomoc� formatu %d.Angielskoj�zyczni programi�ci próbuj�cyodczyta� liczb� mog� by� ca�kowicie pewni, czy jest ona zakodowana jako ASCII.W wielu innych j�zykach istnieje jednak np.kilka metod zakodowania liczby�jeden� (Japo�czycy stosuj� co najmniej trzy sposoby).W najprostszej sytuacji obs�uga �mi�dzynarodowych� danych wej�ciowych jestzadaniem banalnym, poniewa� realizuje j� sprz�t.Istniej� przecie� specjalneklawiatury dla j�zyka francuskiego lub hebrajskiego.Po naci�ni�ciuodpowiedniego klawisza taka klawiatura wysy�a do procesora kod znaku z zestawuISO-8859-1 (w przypadku klawiatury francuskiej) lub ISO-8859-8 (dla klawiaturyhebrajskiej).Prawie na najni�szym poziomie odwzorowanie kodów klawiatury mo�ezosta� zmienione przez serwer X, dzi�ki czemu mo�na uzyska� nawet odwzorowaniekombinacji klawiszy daj�ce znak sk�adany (np.w �trybie francuskim� naci�ni�ciea i nast�pnie ' da akcentowany znak �).Po stronie aplikacji obs�uga tego rodzaju wej�cia tak�e jest banalnym zadaniem.W najgorszym przypadku program musi przekszta�ci� napisy zakodowane zgodnie zumiejscowieniem u�ytkownika na napisy z kodowaniem Unicode.Wszystko to da si�atwo zrobi� za pomoc� funkcji iconv(3) dost�pnej w bibliotece libc w wersjiGNU.Tak si� jednak sk�ada, �e dla wi�kszej cz�ci ludno�ci �wiata (je�li nie dlawi�kszo�ci u�ytkowników komputerów) po prostu niewygodne jest pos�ugiwanie si�klawiatur� umo�liwiaj�c� wprowadzenie ka�dego potrzebnego znaku.Wykszta�conyChi�czyk ma w swoim repertuarze od pi�ciu do dziesi�ciu tysi�cy znaków Han, za�Korea�czyk potrafi algorytmicznie skonstruowa� 11172 znaki Hangul.Istniejekilka sposobów wprowadzania tekstu wymagaj�cego tak obszernego zestawu znaków,a najpopularniejszym jest wprowadzanie tekstu w zapisie fonetycznym (cz�sto zapomoc� alfabetu �aci�skiego).Nast�pnie zapis ten jest porównywany zes�ownikiem (a cz�sto tak�e �przerzedzany� lub przemieszczany na podstawieznanych zastosowa� w zdaniach i znajomo�ci zasad gramatycznych, a tak�eprzyzwyczaje� u�ytkownika).Na tej podstawie wytwarzana jest lista znaków,które mog� by� ostatecznie umieszczone w tek�cie.Manipulowanie reprezentacj�fonetyczn� przez u�ytkownika nazywa si� preedycj�, dla odró�nienia tego procesuod ogólnego procesu edycji polegaj�cego na wstawianiu, usuwaniu iprzemieszczaniu znaków oraz bloków znaków.Oczywi�cie, opisywana tu metoda wymaga znacznego wsparcia programistycznego.Tak kosztowny proces wymagaj�cy u�ycia baz danych i algorytmów sztucznejinteligencji jest cz�sto uruchamiany oddzielnie.Oznacza to, �e aplikacjaprzetwarzaj�ca tekst i serwer obs�uguj�cy wej�cie musz� si� ze sob� komunikowa�zarówno przy obs�udze zawarto�ci, jak i przy prezentacji u�ytkownikowi danych�sprz�onych�.W X11R5 wprowadzono standard obs�ugi wej�cia (tzw.X Input Method), którynast�pnie zosta� zmodyfikowany i sta� si� obowi�zkowy w X11R6.Umo�liwia onkorzystanie z kilku alternatywnych sposobów prezentacji.W najprostszym z nichsam program zarz�dzaj�cy wej�ciem b�dzie wy�wietla� oddzielne okno preedycji.Po�o�enie tego okna jest kontrolowane przez mened�era okien (czyli ostatecznieprzez u�ytkownika).Taka metoda jest oczywi�cie niezr�czna i rozpraszaj�cauwag�, szczególnie wtedy, gdy program zarz�dzaj�cy wej�ciem jest u�ywanysporadycznie (tak by�oby np.przy pisaniu programu w j�zyku C z komentarzami wj�zyku japo�skim).Pozosta�e metody s� bardziej elastyczne, ale jednocze�niebardziej skomplikowane.Wszystko kulminuje si� w metodzie dzia�aj�cej �wlocie�, w której aplikacja przekazuje wywo�anie zwrotne do programuzarz�dzaj�cego wej�ciem, umo�liwiaj�c mu przes�anie tekstu powsta�ego w wynikupreedycji i statusu sprz�enia zwrotnego ponownie do siebie.Dzi�ki temuaplikacja mo�e np.prezentowa� tekst po preedycji za pomoc� takiego samegokroju pisma, ale np.w odmiennym kolorze.Daje to czytelniejszy obraz i niezmusza u�ytkownika do nieustannego przenoszenia wzroku mi�dzy oknem aplikacjiodbieraj�cej dane wej�ciowe a oknem preedytora zawieraj�cym obrabiane detale.Na poni�szych rysunkach pokazano, jak Japo�czycy wprowadzaj� dane, pos�uguj�csi� powszechnie u�ywanymi programami kterm(1x), kinput2(1x) orazcannaserver(1).Program kterm(1x) wywodzi si� z xterm(1x), w którym dodanowy�wietlanie znaków japo�skich.Program kinput2(1x) jest japo�skim programem dozarz�dzania wej�ciem, który obs�uguje protokó� XIM.W wi�kszo�ci dystrybucji Linuksa dostarczane s� wspomniane programy (Canna,KInput2 i KTerm) w spakowanej postaci, a wi�c b�dzie mo�na zainstalowa� je bezproblemów i przeprowadzi� próby na naszym przyk�adzie.Program Canna zazwyczajuruchamia serwer automatycznie i instaluje skrypt rozruchowy, za� KInput2 iKTerm musz� by� uruchomione r�cznie.W ró�nych dystrybucjach mo�na jednak spotka� ró�ne sposoby konfiguracjipakietów.Pakiety kinput2-canna i kinput2-canna-wnn w dystrybucji Debiandzia�aj� od razu, ale w innych dystrybucjach trzeba skonfigurowa� je r�cznie,zanim zaczn� ze sob� wspó�pracowa�.Do edycji tekstu b�dzie u�yty edytor ae(1), poniewa� bash(1) b��dnie obs�ugujeznaki japo�skie i wysy�a zak�ócenia do kterm [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • listy-do-eda.opx.pl
  • Drogi użytkowniku!

    W trosce o komfort korzystania z naszego serwisu chcemy dostarczać Ci coraz lepsze usługi. By móc to robić prosimy, abyś wyraził zgodę na dopasowanie treści marketingowych do Twoich zachowań w serwisie. Zgoda ta pozwoli nam częściowo finansować rozwój świadczonych usług.

    Pamiętaj, że dbamy o Twoją prywatność. Nie zwiększamy zakresu naszych uprawnień bez Twojej zgody. Zadbamy również o bezpieczeństwo Twoich danych. Wyrażoną zgodę możesz cofnąć w każdej chwili.

     Tak, zgadzam się na nadanie mi "cookie" i korzystanie z danych przez Administratora Serwisu i jego partnerów w celu dopasowania treści do moich potrzeb. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

     Tak, zgadzam się na przetwarzanie moich danych osobowych przez Administratora Serwisu i jego partnerów w celu personalizowania wyświetlanych mi reklam i dostosowania do mnie prezentowanych treści marketingowych. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

    Wyrażenie powyższych zgód jest dobrowolne i możesz je w dowolnym momencie wycofać poprzez opcję: "Twoje zgody", dostępnej w prawym, dolnym rogu strony lub poprzez usunięcie "cookies" w swojej przeglądarce dla powyżej strony, z tym, że wycofanie zgody nie będzie miało wpływu na zgodność z prawem przetwarzania na podstawie zgody, przed jej wycofaniem.