2000
T e c h n ik i K o m p u t e r o w e
BIU LETY N IN FO RM ACYJNY
III M III IV
IN S T Y T U T M A SZ Y N M A T E M A T Y C Z N Y C H
W ARSZAW A 2000
K o m p u t e r o w e
BIULETYN INFO RM ACYJNY
Rok X X X V , N r 2, 2000
IN S T Y T U T M A SZ Y N M A T E M A T Y C Z N Y C H
W ARSZAW A 2000
IN S T Y T U T M A S Z Y N M A T E M A T Y C Z N Y C H UL. K R Z Y W IC K IE G O 34
02-798 W A R SZA W A
TEL. 621.84.41, T L X 81.78.80, FAX 629.92.70 E-M AIL: im asm at@ im m .org.pl IN T E R N E T : h ttp ://w w w .im m .o r g .p l
C o p y r ig h t © b y I n s t y t u t M a s z y n M a te m a ty c z n y c h , W a r s z a w a 2000
D ruk: Z akład P oligrafii Ośrodka Przetwarzania Inform acji, al. N iepodległości 186
TECHNIKI KOMPUTEROWE
Rok XXXV Nr 2 2000
S p i s t r e ś c i
S tr.
W y b r a n e m e to d y in d e k s o w a n ia i p r z e s z u k iw a n ia p e in o te k s to w e g o
p lik ó w w a p l ik a c ja c h M S A c c e ss 9 7 , M a łg o rz a ta R ubin ... 5 A n a liz a m o ż liw o śc i a u t o m a t y c z n e j g e n e r a c j i p o ls k ic h z n a k ó w
w fo n ta c h p o s ts c r ip to w y c h . O p is p r o g r a m u - d o k o ń c z e n ie ,
R om an C z a jk o w sk i, W o jc ie c h N o w a k o w sk i, M arcin P aśn ik o w sk i .... 19 M e to d y s y m u la c ji k o m p u te r o w e j i ic h p r z y d a tn o ś ć w in ż y n ie r ii
p ro c e s ó w b iz n e s o w y c h , M a re k K a c p r z a k ... 31 M e to d y I D E F i ic h z a s to s o w a n ie d o B P R , A n d rz ej K a c z m a r c z y k 39 P ro b le m e f e k ty w n o ś c i tw o r z e n ia o p r o g r a m o w a n ia w te c h n ik a c h
in te r n e to w y c h i p r o p o z y c ja je g o r o z w ią z a n i a , A rtu r Ja k u b J e rz a k . 49 I n t e r n e t w k ie s z e n i, cz y li w p r o w a d z e n ie w te c h n ik ę W A P , W o jc ie c h
K u b e r a ... 55 M e to d y r o z p o z n a w a n ia o d c is k ó w p a lc ó w s to s o w a n e w s y s te m a c h
k o n tr o li d o s tę p u ze s z c z e g ó ln y m u w z g lę d n ie n ie m m e to d ^ u ltr a d ź w ię k o w y c h , W iesław B i c z ... 61 O p to e l e k tr o n ic z n e m e to d y i u r z ą d z e n i a d o p o m ia r u z a s ię g u
w id z ia ln o ś c i, R o m u ald S y n a k ... 69 8 - b ito w e m o k r o s te r o w n ik i z p a m ię c ią F L A S H p r o g r a m o w a ln e p r z e z
s y n c h r o n ic z n y i n t e r f e j s s z e r e g o w y S P I , D ariu sz C a b an ... 85
TECHNIKI KOMPUTEROWE 2/2000
Ma ł g o r z a t a Ru b i n
In s t y t u t Ma s z y n Ma t e m a t y c z n y c h W A R SZ A W A
W ybrane m etod y in d ek sow an ia i p rzeszu k iw an ia pelnotek stow ego p lik ów w aplikacjach M S A ccess 97
Selected techniques of indexing and full-text searching the contents of flies in MS Accecss 97 application
Streszczenie
W artykule p rz ed sta w io n o p o ró w n an ie w ybranych m etod in d ek so w a n ia i przeszu k iw an ia zaw arto ści sfo rm ato w an y ch p lik ó w teksto w y ch o ra z m ożliw o ść ich w y k o rzy stan ia w aplikacjach tw o rzo n y ch w tec h n o lo g ii M S A ccess 97.
Abstract
T h e article co m p ares the selected tech n iq u es o f in d ex in g an d se arch in g the c o n ten ts o f the fo rm atted text files an d d esc rib e s the m eth o d s to ap p ly th em in the a p p licatio n s created in M S A ccess 97 d atab ases tech n o lo g y .
1. Wstęp
O sukcesie w dzisiejszym św iecie decyduje coraz częściej czas dostępu do w łaści
wej inform acji. U żytkow nicy program ów w spom agających zarządzanie firm ą oczekują od nich spraw nej obsługi nagrom adzonych zasobów inform acyjnych. Indeksacja i prze
szukiw anie pełnotekstow e elektronicznych dokum entów stały się ju ż standardem now oczesnych aplikacji biznesow ych. B ez tego typu m echanizm ów i narzędzi efektyw ność i w ydajność w spom agania zarządzania je s t tylko o bietnicą bez pokrycia.
W ychodząc naprzeciw oczekiw aniom i potrzebom rynku, w Instytucie M aszyn M atem atycznych opracow ano system zarządzania dokum entam i dokM istrz, zaim ple
m entow any w technologii M S A ccess 97. Z arządzanie dokum entam i obejm uje w nim rejestrację, tw orzenie, klasyfikację, przechow yw anie, p rze k az pom iędzy stanow iskam i pracy, dokum entow anie operacji i trasy obiegu dokum entu o raz w y sz u k iw a n ie in fo r
m a cji.
D okum ent w system ie dokM istrz składa się z części opisow ej tzw. nagłów ka oraz dow olnej liczby podpięty ch plików tzw . załączników , w których znajduje się je g o w łaściw a treść. N agłów ek zaw iera podstaw ow e dane, takie ja k : nadaw ca, odbiorca, znak
pism a, tem at, czego dotyczy, spraw a, term in załatw ienia i inne. Form at podpiętych plików m oże być dow olny (tekst, grafika, dźw ięk i inne). T ak zaprojektow ana struktura w yznacza w sposób je d n o zn aczn y dw a obszary w yszukiw ania dokum entów :
• w yszukiw anie w oparciu o w ybrane elem enty nagłów ka,
• w yszukiw anie w edług treści załącznika.
P ierw szy rodzaj w yszukiw ania zrealizow ano w o parciu o filtry, zestaw ienia oraz o p e
rację szukania w ram ach w yśw ietlanej na form ularzu listy dokum entów . Filtry i zestaw ienia u m o żliw iają w stępne ograniczenie listy dokum entów , natom iast o p eracja szukania w ybiera z niej w szystkie pozycje, spełniające zadane kryterium w yszukania.
P odstaw ow ym celem stosow ania nagłów ka je s t klasyfikacja dokum entu, czyli pow iąza
nie go z określonym typem , tem atem , sp raw ą itp. W w iększości są to hasła słow nikow e, opisujące szczegółow o każdy dokum ent i w y d ają się zaw ierać w ystarczającą inform ację do w yszukania go. Z drugiej strony, hasła słow nikow e raczej system atyzują inform ację niż n ad a ją je j indyw idualne cechy. D opiero z a łą c z n ik w fo rm ie p lik u j e s t p ra w d z iw y m w y ró ż n ik ie m d o k u m e n tu . W yszukiw anie w edług treści załącznika pozw ala uzyskać bardziej selektyw ny rezultat na podstaw ie ogólnego zapytania.
2. Specyfikacja problemu
P roste system y zarządzania dokum entam i nie p o sia d ają opcji pełnotekstow ego w yszukiw ania dokum entów . System y bardziej zaaw ansow ane o feru ją zarów no w yszu
kiw anie w o parciu o hierarchiczne klasyfikatory, ja k i pełnotekstow e w yszukiw anie dokum entów , w spom agane p rzez indeksację. Indeksacja je s t realizow ana przez sp ecja
lizow ane serw ery baz danych ja k np. M S SQ L Server, czy L otus N otes/D om ino, zapew niające w y so k ą ja k o ść i w ydajność tego procesu.
K lasyfikatory s ą w istocie hasłam i słow nikow ym i (słow am i kluczow ym i), tw o rzą
cymi tzw. hasłow nik. Indeksacja w tym przypadku je s t przerzu co n a na użytkow nika. To on m usi ręcznie p rzypisać poszczególnym dokum entom hasła, w edług których b ę d ą one potem w yszukiw ane. D okum enty, które nie zo stan ą opisane słow am i kluczow ym i nie b ę d ą objęte w yszukaniem . W ym aganie od użytkow nika przypisyw ania słów kluczow ych podczas rejestracji/edycji dokum entu je s t rozw iązaniem niew ygodnym i uciążliw ym . D ośw iadczenia z w drożeń d o w o d zą istnienia nieustannego problem u odnalezienia się końcow ych użytkow ników w w irtualnej rzeczyw istości, j a k ą daje program kom puterow y oraz w ciąż niezadaw alającej kultury inform atycznej ich sam ych. Problem em byw a w ypełnienie podstaw ow ych pól form ularza, a w ykorzystanie funkcji aplikacji ograniczone je s t do m inim um . Z tego pow odu należy raczej koncentrow ać działania na autom atyzacji procesów w szędzie tam gdzie to m ożliw e, poniew aż istnieje w iększe praw dopodobieństw o w ykorzystania ich przez końcow ego odbiorcę.
M S A ccess 97 w sw ojej bogatej palecie usług nie oferuje gotow ych m echanizm ów indeksacji plików . A by sprostać tem u w yzw aniu trzeba szukać w sparcia na zew nątrz. W dalszej części artykułu przedstaw iono porów nanie 3-ech w ybranych m etod indekso
w ania i w yszukiw ania pełnotekstow ego, w ykorzystujących odm ienne narzędzia i te ch nologie.
Wybrane metody indeksowania i przeszukiwania pełnotekstowego plików... 7
3. Indeksacja i wyszukiwanie dokumentów
3.1. Wyszukiwanie dokumentów metodą FileSearch
3.1.1. M o d e l o b ie k to w y
M odel obiektow y M icrosoft O ffice zaw iera obiekt F ile S e a rc h , który je s t funkcjo
nalnym odpow iednikiem w spólnego dla w szystkich aplikacji M S O ffice okna dialo g o w ego O tw órz, dostępnego z poziom u m enu Plik. O biekt ten realizuje w yszukiw anie plików w edług ustalonych kryteriów . W szczególności um ożliw ia on przeszukiw anie plików określonego typu, zaw ierającego podany tekst ja k o treść lub w łaściw ość, w ram ach w ybranego foldera. P rzeszukiw anie odbyw a się na bieżąco i nie w ym aga u p rzedniego indeksow ania. O biekt F ileS earch znajduje się w bibliotece M S 0 9 7 .d ll.
K olekcja P ropertyT ests rep rezen tu je kryteria w yszukiw ania. O biekt F o u n d F ile s zw raca w ynik w yszukania w postaci listy pełnych nazw' znalezionych plików.
3.1.2. I m p le m e n ta c ja
O p cja w yszukiw ania m e to d ą F ileS earch um ożliw ia:
a) w y św ietlen ie p ełn ej listy załączników ',
Jest to pom ocne w sytuacji, kiedy użytkow nik nie je s t pew ien, do których d o k u m entów podpiął pliki.
b) w y św ietlen ie z a łą c z n ik ó w w sk a z a n e g o ty p u D ostępne są n astępujące typy plików :
- arkusze M icrosoft E xcel (*.xls, *.xlw), - dokum enty M icrosoft W ord (*.doc),
- pliki M icrosoft O ffice (*.doc, *.dot, *.xls, *.xlt, *.htm, *ppt, *.mdb);
- pliki R T F (*.rtf), - pliki H T M (*.htm ), - pliki tekstow e (*.txt),
pliki bez rozszerzenia (*.), - w szystkie (*.*).
c) w y św ietlen ie z a łą c z n ik ó w z a w ie ra ją c y c h p o d a n y te k s t ja k o tre ś ć lu b w ła śc i
w ość
W łaściw ościam i pliku nazyw am y szczegóły dotyczące pliku, które m o g ą być pom ocne przy je g o identyfikacji. N a le ż ą do nich opisow y tytuł, autor i tem at,
a także słow a kluczow e o kreślające zaw artość pliku i inne w ażne inform acje.
W łaściw ości m o g ą zostać ustaw ione dla dow olnego pliku pakietu M icrosoft O ffice. D o standardow ych w łaściw ości pliku należą: autor, tytuł i tem at pliku. N a przykład, pracując z program em W ord, po w staw ieniu do każdego pliku zw iąza
nego ze sprzedażą słow a kluczow ego „P Z ” m ożliw e je s t późniejsze odnajdyw anie tych plików przez w yszukiw anie w edług tego słow a kluczow ego. M ożliw e je s t także tw orzenie niestandardow ych w łaściw ości pliku. A by przy pierw szym zapisie każdego pliku autom atycznie pojaw iało się okno dialogow e W łaściwości, należy z m enu N a rz ę d z ia w ybrać polecenie O pcje, kliknąć kartę Z a p isy w a n ie i zaznaczyć po le w yboru Ż ą danie p o d a w a n ia w łaściw ości dokum entu.
d) w y św ietlen ie z a łą c z n ik ó w n a p o d sta w ie d a ty ich m o d y fik a c ji
Zestaw dostępnych przedziałów czasow ych obejm uje: datę bieżącą, bieżący ty
dzień, ostatni tydzień, bieżący m iesiąc, ostatni m iesiąc, kiedykolw iek.
CETSCI
łyp załącznika Plik Microsoft Office j J tekst lub właściw ość |dokm “ mieniony (kiedykolwiek j J &
► RF11/99 P pismo "Optim" Sp. z o.o 2000/01/00014 31 spraw ozdanie dokmisłrzo E d o c DModbior200a ZAL/Unicode P T owarzystwo T u rys tyczne 2000/04/00043 01 dokum ent 2-stronicowy d o c 2_strony
marchewka W PUH Tramp 2000/04/00045 01 dokmistrz w arkuszu x!s
OPT/F/02/00 P faktura "Optim" Sp z o.o. 2000/04/00053 01 dokum ent 1-stronicowy d o c 1_strona
wych_new W faktura PUH Tramp 2000/06/00072 03 tekst o dokmistrzu d o c
ra d o ść w adnotacje urzęc Przedsiębiorstwo Usługowi 2000/06/00074 02 podręcznik d o c Kopia podrl 4 2000wyrezów p kalkulacja Wytwórnio Sprzętu 2000/06/00084 01 plik zawierający 2000 wyra; d o c DModbior2000
b az a mdb R faktura Microsoft 2000/06/00087 01 b e z a m db m db dokmisprz
Liczba znalezionych załączników; 8 Q twórz Zamknij
Pole w ypełniane treśc ią lub w łaściw ością załącznika akceptuje sym bole w ielo
znaczne. P ozw ala to w yszukiw ać słow a niezależnie od ich przedrostków i końców ek gram atycznych. Z nak ? zastępuje dow olny, pojedynczy znak w słow ie, a znak * zastę
puje dow olny ciąg znaków . W pisanie obok siebie dw óch słów oddzielonych sp a c ją nie oznacza, że będzie poszukiw ana fraza. P rzy w yszukiw aniu nieistotne je s t położenie w yrazów w tekście. W ybrane zo stan ą te pliki, które zaw ierają w szystkie w pisane w yrazy, przy czym treść i w łaściw ości s ą traktow ane łącznie. R ezultat w yszukania ciągu znaków : „instrukcja dokM istrz” , w pisanego w polu tekst lub w łaściw ość o bejm ie załączniki, które:
- zaw ierają słow a „instrukcja” i „dokM istrz” w dow olnym m iejscu sw ojej treści, - zaw ierają słow a „instrukcja” i „dokM istrz” w sw oich w łaściw ościach,
- za w ierają je d n o ze słów w sw ojej treści, a drugie ja k o w łaściw ość.
Wybrane metody indeksowania i przeszukiwania pelnolekstowego plików.. 9
3.1.3. W n io sk i
Z aletą w yszukiw ania m e to d ą FileS earch je s t niew ątpliw ie to, że nie w ym aga ona indeksow ania, ani też instalacji dodatkow ego oprogram ow ania. W zam ian za to, w yszukiw anie nie należy do najszybszych, a czas oczekiw ania na w ynik zależy od stopnia precyzji kryterium w yszukiw ania oraz objętości przeszukiw anego foldera p li
ków . Im w ięcej zadanych elem entów , tym w yszukiw anie je s t w olniejsze. W pływ p oszczególnych elem entów kryterium na w ydłużenie procesu w yszukiw ania nie je s t jed n ak o w y . N ajbardziej krytyczne pod tym w zględem pozostaje pole tekstow e, okre
ślające tekst lub w łaściw ość. Z tego w zględu, w yszukiw anie m eto d ą F ileS earch nie pow inno być nadużyw ane, lecz stosow ane „oszczędnie” . D odatk o w ą n iedogodnością je s t brak m ożliw ości rozdzielenia treści i w łaściw ości. C hociaż w w iększości przypad
ków poszukiw any ciąg znaków dotyczy treści, zw racany rezultat je s t zaw sze łączny i obejm uje załączniki spełniające kryterium zarów no pod w zględem treści ja k i w łaściw ości. P rogram ow e uzyskanie dodatkow ych inform acji nie je s t m ożliw e, poniew aż obiekt FoundFiles zw raca je d y n ie nazw y znalezionych plików .
R zetelnie w ypełniane, przynajm niej niektóre, w łaściw ości dokum entów m o g ą sta
now ić hasłow nik (zb ió r słów kluczow ych), w edług którego m ożliw e będzie potem ich odnalezienie.
3.2. In d e k sa c ja w o p a rc iu o M S W ord
Indeks je s t elem entem , który niew ątpliw ie w spom aga proces w yszukiw ania pełnotekstow ego. N ajp ro stsza struktura indeksu zaw iera listę unikalnych słów kluczow ych i ich pow iązań z odpow iednim i dokum entam i. Integracja aplikacji w ram ach pakietu M S O ffice, w tym spójny m odel obiektow y, stw arza m ożliw ość sw obodnego w ykorzystania specyficznych cech i funkcji obiektów . D okum enty tw orzone przy pom ocy różnych edytorów tekstu s ą najczęściej plikam i, zaw ierającym i sform atow any tekst. Z e w zględu n a znaki sterujące, o b ró b k a takich plików nie je s t problem em tryw ialnym i w ym aga zaaw ansow anych algorytm ów analizy tekstu. Jeżeli je d n a k treść dokum entów je s t tw orzona przy użyciu edytora M S W ord (a takie pliki są najbardziej p opularne), to m ożna w ykorzystać technikę O L E (O b ject Linking and E m bedding) do uzyskania listy słów w nich zaw artych i na tej podstaw ie podjąć próbę utw orzenia w łasnego indeksu.
3.2.1. M o d e l o b ie k to w y
M odel obiektow y M icrosoft W ord zaw iera k o lekcję D o cu m e n ts, o b ejm ującą w szystkie otw arte dokum enty w M S W ord. K ażdy obiekt D o c u m e n t, należący do kolekcji D o c u m e n ts, posiad a w łasną kolekcję W o rd s , sk ład ającą się ze w szystkich słów znajdujących się w ram ach określonego obszaru R a n g ę.
B iblioteka obiektów M S W ord została zaw arta w pliku o nazw ie M S W 0 R D 8 .0 L B 3.2.2. M o d e l d a n y c h
Struktura indeksu została oparta na trzech tabelach: klucze, w yjątki oraz indeksy.
Pierw sza z nich je s t zbiorem unikalnych słów kluczow ych (haseł), w yłonionych w procesie analizy treści poszczególnych załączników . Z b ió r ten nie obejm uje słów nieistotnych znaczeniow o, takich ja k : i, oraz, pod, nad, też, lub, także, j a ty, on, ...
Słow a tego typu z n a jd u ją się w tabeli wyjątki. W ynik indeksacji je s t zapisyw any do tabeli indeksy. D ołączanie i tw orzenie now ych załączników dokum entów w pływ a na dezaktualizację ra z utw orzonego indeksu. M ożna uznać, że w w iększości przypadków edycja raz zredagow anego załącznika nie w nosi „drastycznych” zm ian do je g o w arstw y znaczeniow ej. Jeśli zatem był on poddany indeksacji - to zbiór podstaw ow ych słów kluczow ych p o zo staje w zasadzie niezm ienny. Inaczej je s t w przypadku tw orzenia now ych plików , nie objętych indeksem . D opóki indeks nie zostanie uaktualniony dokum enty te nie b ę d ą w idoczne w trakcie operacji w yszukania. W zw iązku z pow yższym , proces indeksacji musi być okresow o ponaw iany, przy czym p rzetw a
rzane pow inny być tylko pliki m odyfikow ane lub now outw orzone od daty ostatniej generacji indeksu. A ktualizacja m oże być przeprow adzana okresow o, bąd ź na bieżąco, po zakończeniu edycji lub tw orzenia załącznika dokum entu.
W yszukiw anie dokum entów w oparciu o istniejący indeks polega na w ybraniu zestaw u rekordów z tabeli indeksy, opatrzonych identyfikatorem zadanego słow a klu
czow ego.
Wybrane metody indeksowania i przeszukiwania pelnotekstowego plików.. 11
3.2.3. I m p le m e n ta c ja
Przy im plem entacji algorytm u indeksacji w ykorzystano technikę O LE do otw ie
rania poszczególnych plików w tle, ja k o dokum enty M S W ord, w celu pobrania elem entów kolekcji W ords każdego z nich. N a tej podstaw ie uzyskano zestaw słów kluczow ych, p o trzebny do zbudow ania indeksu dokum entów .
P rzeprow adzono testy w ydajnościow e algorytm u indeksacji dla plików o różnej objętości tekstu.
rodzaj dokumentu czas indeksacji
z zapisem do tabel bez zapisu d o tabel
d o k u m en t 1 stro n ico w y (7 0 0 w yrazów ) 4 0s 7 s
d o k u m en t 2 stro n ico w y (1 3 6 0 w yrazów ) 1 m in 10 s 15 s
d o k u m en t 8 stro n ico w y (5 0 0 0 w yrazów ) 5 min 1 m in
d o k u m en t 100 stro n ico w y (2 5 0 0 0 w yrazów ) 45 min 2 4 m in
O trzym ane w yniki św iad czą o m alej w ydajności zarów no techniki O LE (długi czas po b ieran ia słów z kolekcji) ja k i sam ego d ostępu do tabel przez M S A ccess. W celu o ptym alizacji czasu indeksow ania zm odyfikow ano algorytm w części dotyczącej analizy tekstu. M S W ord w ykorzystano tylko do konw ersji plików zaw ierających tekst sform atow any na zw ykłe pliki tekstow e, aby te z kolei sam odzielnie przetw arzać i dzielić na słow a.
rodzaj dokumentu czas indeksacji
z zapisem do tabel bez zapisu d o tabel
d o k u m en t 1 stro n ico w y (7 0 0 w yrazów ) 35s 4 s
d o k u m en t 2 stro n ico w y (1 3 6 0 w yrazów ) 1 min 8 s
d o k u m en t 8 stro n ico w y (5 0 0 0 w yrazów ) 3 min 2 0 s
d o k u m en t 100 stro n ico w y (2 5 0 0 0 w yrazów ) 21 min 2 min
Przy takim sposobie przetw arzania plików popraw a w ydajności je s t znacząca dla plików o w iększej objętości tekstu. T em po indeksacji m ałych je s t porów nyw alne przy zastosow aniu obydw u algorytm ów . C zas p otrzebny na konw ersję pliku na tekstow y, a następnie je g o zapis na dysk kom pensuje opóźnienie zw iązane z pobieraniem słów z kolekcji W ords. K onw ersja plików , a tym sam ym optym alizacja indeksacji je s t w ięc o p łacalna dla plików zaw ierających pow yżej 5000 słów. Po otw arciu dokum entu w M S W ord należałoby w ięc najpierw spraw dzać liczbę słów (poprzez odczyt w łaściw ości C ount) i dopiero na tej podstaw ie podejm ow ać decyzję o ew entualnej konw ersji tego pliku.
In d e k s a c ja o p a r ta na k o le k c ji W o rd s
czas/s/
■ b ez zapisu do tabel □ z zapisem do tabel
In d e k s a c ja z k o n w e rs ją n a p lik te k sto w y
czasfsj
7 0 0 1 3 6 0 5 0 0 0 2 5 0 0 0 liczba stów
■ b e z zapisu do tab e l o z zapisem do tabel
3.2.4. W n io sk i
Indeksow anie plików z w ykorzystaniem M S W ord i techniki O LE je s t operacją cz aso ch ło n n ą i m ało w ydajną. O ptym alizacja tego procesu dotyczy je d y n ie przetw arza
nia i analizy tekstu. S krócenie czasu dostępu do tabel w M S A ccess nie je s t m ożliw e.
Indeksacja w takim w ydaniu n a pew no nie przyczyni się do podn iesien ia ja k o śc i i ko n kurencyjności aplikacji ja k o produktu rynkow ego. C zas potrzebny na indeksację naw et m ałego pliku je s t zbyt duży na to, aby m ożna było j ą stosow ać na bieżąco. O kresow a ak tualizacja indeksu je s t natom iast kłopotliw a ze w zględu na m a łą w ydajność operacji, a ponad to w ym aga system atyczności, w przeciw nym razie opcja w yszukiw ania do k u m entów traci sens. Indeksacja tego typu m oże okazać się p rzy d atn ą np. przy tw orzeniu archiw um dokum entów , kiedy dysponujem y kom pletem dokum entów i m am y pew ność,
Wybrane metody indeksowania i przeszukiwania pelnotekstowego plików... 13
że nie b ę d ą one ju ż w ięcej m odyfikow ane. M ożna w tedy dopuścić je d n o razo w ą, naw et dłu g o trw ałą indeksację, aby w ykorzystać potem je j wyniki do w yszukiw ania do k u m entów w archiw um .
3.3. Indeksacja w oparciu o M icrosoft Index Server
N a rynku oprogram ow ania istnieje produkt firm y M icrosoft - Index Server, służący do indeksow ania i w yszukiw ania pelnotekstow ego dokum entów H T M L , tradycyjnych plików tekstow ych oraz dokum entów sform atow anych M S O ffice. S tw orzono go z m y ś lą o indeksow aniu głów nie zasobów w sieci W W W , ale je g o uniw ersalizm w zakresie rozpoznaw anych form atów plików spraw ia, że m oże być on z pow odzeniem stosow any d o przeszukiw ania zasobów dokum entów w firm ow ym intranecie. F unkcjo
nalność Index S erver-a je s t idealnym rozw iązaniem dla system ów zarząd zan ia d o k u m entam i w zakresie ich w yszukiw ania. D ynam iczne w ypieranie tradycyjnych m etod program ow ania p rzez technologię W W W m oże być dodatkow ym atutem w uzasadnie
niu decyzji o zastosow aniu w łaśnie Index Server-a.
Index S erver je s t pakietem zintegrow anym z Internet Inform ation S erver 4 .0 (IIS) i rozpow szechnianym w ram ach W indow s N T O ption P ack 4.0. D zięki tem u, je g o instalacja je s t p ro sta i w pełni autom atyczna. C harakteryzuje się on d u ż ą w y d ajn o ścią i niezaw odnością. Sam o indeksow anie obejm uje zarów no treść ja k i w łaściw ości dokum entu (różne dla różnych typów plików ). M onitorow anie dokum entów je s t p ro c e sem ciągłym . D zięki w ykorzystaniu system ow ych m echanizm ów p ow iadam iania o zm ianach w skatalogow anych dokum entach, Index Server nie m usi za każdym razem przeglądać pełnej zaw artości system u plików w celu spraw dzenia, który z p rzetw o rzonych w cześniej plików został o d tego czasu zm ieniony i należy w zw iązku z tym uaktualnić je g o indeks. O p eracja p rzejrzenia całej struktury odbyw a się tylko raz - w m om encie tw orzenia indeksu (initial scan). N ow o dodane i m odyfikow ane pliki w ykryw ane są w trak cie w ykonyw anego co pew ien czas skanow ania przyrostow ego (increm ental scan).
1 .b u d ze t.x ls 2 .p lan .d o c 3 .lista .h tm
zapytanie.ht 1 T
z a rz ą d z a n ie | s ta rt | Index Server
w ynik.htm l.budzet.xl s
Z .n la n .rin r. serwer IIS £ 2 ? ; j \
klient
Index S erver o feruje m etodę odpytyw ania, zw aną w tym przypadku języ k iem zapytań (query language). U m ożliw ia to zadaw anie naw et bardzo skom plikow anych zapytań, obejm ujących kryteriam i każdy z atrybutów poindeksow anych plików . W yko
rzystanie zalet Index S erver-a z poziom u aplikacji je s t m ożliw e p o p rzez interfejs O LE DB. D zięki niem u m ożna w ykonyw ać zapytania o składni zbliżonej do ję z y k a SQL, a poprzez technologię A D O (A ctiveX D ata O bjects) pobierać uzyskane dane.
Ze w zględu na śc isłą integrację Index S erver-a z IIS (Internet Inform ation Server), je g o obsługa, a w szczególności w łączanie i w yłączanie indeksow ania odbyw a się z
poziom u aplikacji zarządzającej IIS.
3.3.1. In d e x S e rv e r, a te c h n o lo g ia tr a d y c y jn a
W ysoka ja k o ść indeksacji i w yszukiw ania musi być o kupiona określonym i w ym a
ganiam i sprzętow ym i i program ow ym i. Fakt ten je s t niekw estionow any i oczyw isty.
Index S erver pow stał z m y ślą o aplikacjach internetow ych, które w swej naturze obejm u ją w ym ianę danych pom iędzy przeglądarką - klientem , a serw erem W W W . Interpretery ję zy k ó w skryptow ych p o tra fią odróżnić część kodu, która przeznaczona je s t do w ykonania na serw erze, od elem entów w ykonyw anych po stronie klienta. P rzez to klient m oże urucham iać proces na serw erze i dostaje gotow y wynik, który m oże wyświetlić. S ytuacja kom plikuje się, gdy m am y do czynienia z aplikacjam i w ykonanym i w technologii tradycyjnej, opartych np. na M S A ccess 97 i ję z y k u V BA . P ojaw ia się problem : ja k uzyskać dostęp do zdalnego obiektu, p racującego na serw erze. R oz
wiązaniem w takim przypadku je s t technologia opracow ana p rze z firm ę M icrosoft określana ja k o R D S (R e m o te D a ta S erv ice). Pozw ala ona na kom unikow anie się aplikacji pracującej po stronie k lienta z obiektem (bussines object) uruchom ionym na serw erze. M etoda ta udostępnia w skazanie na obiekt, um ożliw iające pośrednie korzy
stanie z je g o m etod.
K om ponenty po stronie serw era instalow ane są autom atycznie w trakcie instalacji IIS (typow ej lub m inim alnej), natom iast po stronie k lienta - s ą składow ą program u M icrosoft Internet E xp lo rer 4.0.
Wybrane melody indeksowania i przeszukiwania pelnotekstowego plików.. 15
W ykorzystanie zaaw ansow anej technologii RDS w ym aga w ykroczenia poza śro dow isko p rogram istyczne M S A ccess 97. P rzy pom ocy np. M icrosoft Visual B asic 5.0, trzeba zdefiniow ać klasę obiektu, pow oływ anego i urucham ianego na serw erze z poziom u aplikacji tradycyjnej. W naszym przypadku klasa obiektu została nazw ana D O K M I S T R Z .s e a r c h i zapisana w pliku d o k m is trz .d ll, um ieszczonym na serw erze.
Do zadań obiektu klasy D O K M IS T R Z .search należy kom unikow anie się poprzez A D O z Index S erver-em , a w szczególności: urucham ianie m etody E xecute dla zapytań SQL, pobieranie w yniku w postaci obiektu R ecordset (w ybranego zestaw u rekordów spełnia
ją cy c h kryterium ) i zapisyw anie go po p rzez A D O i O D B C w bazie danych M S A ccess.
Stam tąd w ynik je s t ju ż odczytyw any i w yśw ietlany na form ularzu aplikacji klienta.
3.3.2. I m p le m e n ta c ja
K orzystanie z Index S erver-a w ym aga określenia w aplikacji adresu serw era IIS, niezbędnego także do popraw nej pracy RDS.
@ P a ra m e try H 0 E 3
F indeksacje dokumentów (Index Server)
edres serwera IIS |http://sin.imm.org.pl
f " intranet
A nuluj iŻ a p is z l
P roste zapytanie zaw iera następujące elem enty:
a) typ załącznika - ograniczenie przeszukiw ania do w ybranych form atów plików:
M icrosoft W ord (*.doc, .dot), M icrosoft Excel (.xls, .xlw), H T M L (.htm ), tekstow e (*.txt) lub w szystkie (*.*), czyli brak ograniczenia;
b) słow o lub fraza - ciąg znaków interpretow any ja k o poszukiw ana fraza teksu lub słow o w treści dokum entu; m oże być zapisany za pom ocą sym boli w ieloznacznych (*, ?); pojedyncze litery i cyfry są ignoro
w ane
c) relacja - w ybrano najprostsze typy relacji: i / lub.
s s s
&
bssszmMty p z a lq cz n ik a |vVsrystkie Pliki (■■) ;■... z i
ES* j w ła ś c iw o ś c i
z a w ie r a jdokmistrż* jS13 jJIsprzedoz
... "I
P C l W ~ ~
Zamknij j
S pośród w ielu w łaściw ości zostały w ybrane tylko dw ie, uznane za najbardziej przydatne i nie w ym agające żadnych dodatkow ych działań ze strony użytkow nika, zw iązane z datą m odyfikacji pliku oraz je g o autorem . P ozw alają one w yszukać np. pliki w łasne, m odyfikow ane danego dnia, w czoraj, przed i po określonym dniu. D ata m odyfikacji je s t przechow yw ana w strukturach Index S erver-a w form acie długim co oznacza, że przy konstruow aniu zapytania należy uw zględniać także czas, w prze
ciw nym razie generow any je s t błąd składniow y w yrażenia SQL. S zczegółow e dane o w łaściw ościach dokum entu, przechow yw ane i zw racane przez Index S erver są dostępne z poziom u aplikacji i m ożna j e w yśw ietlić na form ularzu. N ie było to m ożliw e w m etodzie F ileSearch.
tO Znajdź w g z a łą c z n ik a
typ z a łą c z n ik a f.Vs.-ys’kie Pl.kj {"") TJ
| [jj* s ł o w a k lu c z o w a
m odyfikow any j 21 06 00 autor jftubin o j p
w czoraj p rz ed
£° .... ¿am knij
P oczątkow a k o ncepcja im plem entacji w yszukiw ania była zw iązana z je d n y m for
m ularzem (podobnie ja k F ileS earch) tzn. to sam o okno służyło zarów no do określenia kryterium w yszukiw ania ja k i prezentacji w yników otrzym anych z Index Server-a.
W trakcie prow adzonych prac okazało się, że m etoda R equery urucham iana dla form ularza w M S A ccess 97 nie działa w łaściw ie. W naszym , konkretnym przypadku form ularz był form ularzem zw iązanym ze zdefiniow anym źródłem danych w postaci kw erendy opartej na tabeli w yniki. D ane do tej tabeli były w staw iane p rzez zew nętrzny obiekt klasy D O K M IS T R Z .search, a nie p rzez M S A ccess. P róba ich w yśw ietlenia z poziom u M S A ccess kończyła się przypadkow ym rezultatem . N iekiedy lista w ynikow a była pusta, m im o istnienia fizycznych danych w tabeli. Przyczyna błędu być m oże tkwi w buforow aniu danych, w staw ianych do tabel M S A ccess przez obiekt zew nętrzny, które z tego pow odu m o g ą być p rzez pew ien czas niedostępne, a tym sam ym nie objęte zapytaniem . P ow ołanie odrębnego form ularza do prezentacji w yników w yszukania rozw iązyw ało problem . Przy otw ieraniu form ularza M S A ccess ju ż praw idłow o obsługiw ał źródło danych i błąd nie w ystępow ał.
3.3.3. W n io sk i
Indeksacja i w yszukiw anie dokum entów , o parte na M icrosoft Index Server, speł
n ia ją oczekiw ania naw et najbardziej w ym agających projektantów i użytkow ników . P rofesjonalny m echanizm śledzenia na bieżąco zm ian w prow adzanych w dokum entach i natychm iastow e uaktualnianie indeksu zapew nia satysfakcję i kom fort pracy. U żyt
kow nik w każdej chw ili m a d ostęp do pełnej inform acji o zaw artości sw oich zasobów , b ez w ykonyw ania dodatkow ych czynności (urucham iania i ponaw iania procesu indek
sacji o raz obciążania tymi zadaniam i sw ojej pam ięci). O bsługę w szystkiego przejm uje na siebie Index Server. O bszerna inform acja, zaw arta w zasobach indeksu o raz w yraźne
Wybrane metody indeksowania i przeszukiwania pelnotekstowego plików... 17
rozdzielenie treści od w łaściw ości pozw ala użytkow nikow i uzyskiw ać selektyw ne w yniki, w zależności od interesujących go elem entów . Ponadto, zw racany rezultat m oże być w yśw ietlony na ekranie w szczegółow ej form ie, zaw ierającej w artości w ybranych w łaściw ości znalezionych plików . B ę d ą one zaw sze w idoczne niezależnie od tego, czy zostały określone w kryterium w yszukiw ania, czy te ż nie, a przez to pom ocne w identyfikacji załącznika. W yszukiw ane m o g ą być zarów no pojedyncze słow a ja k i pełne frazy tekstu.
W ysoka ja k o ść i w ydajność operacji w yszukiw ania je s t okupiona je d y n ie koniecz
n o śc ią p osiadania serw era sieciow ego W indow s N T , natom iast oprogram ow anie W indow s N T 4.0. O ption Pack, zaw ierające IIS oraz Index Server je s t bezpłatnie licen
cjonow ane i udostępnione na stronie W W W firm y M icrosoft
4. Podsum owanie
Istnieje w iele rozw iązań problem u indeksacji, ale pow yższe przybliżenie w ybra
nych m etod m a aspekt praktyczny dla czytelników . T w órcy oprogram ow ania w MS A ccess 97 nie m a ją w tej dziedzinie ułatw ionego zadania. W ady i zalety poszczególnych m etod dow odzą, ja k różne m o g ą być obszary ich użycia oraz ja k ie w iąż ą się z tym problem y. K lasa konkretnej aplikacji i skala je j zastosow ań w ym usza w ykorzystanie odpow iednio dobranej indeksacji pod w zględem ja k o śc i i w ydajności. W całej pro b le
m atyce rozw ażań na ten tem at bezspornym pozostaje fakt, że przy obecnym u p o w szechnieniu specjalizow anych narzędzi indeksacji, am bicjonalne traktow anie tego za gadnienia po p rzez generow anie i obsługę indeksu „w łasnym i siłam i” je s t przedsię
w zięciem całkow icie nieopłacalnym .
Literatura
[1] , M ic ro s o ft Visual B asic f o r A pp lica tio n s a n d Shared Libraries R eferences" , M icrosoft P ress 1997.
[2] , M ic r o so ft W ord L a nguage R eference", M icrosoft P ress 1997.
[3] ,M ic ro s o ft E xcel L anguage R eferen ce", M icrosoft Press 1997.
[4] „Program m ing A D O ", M icrosoft P ress 2000.
[5] ,A c c e s s 9 7 B iblia";C ary N. P rague, M ichael R. Irw in, ID G B ooks W orldw ide, Inc 1997.
[6] „Using Internet Inform ation S erver 4", N elson H ow ell, Q ue C orporation 1997.
[7] M icro so ft S u p p o rt K now ledge B ase, w w w .m icrosoft.com .
[8] M icro so ft O ffice 9 7 D evelo p er E dition T ools S a m p ler D ocum entation.
[9] W indow s N T O ption P ack D ocum entation.
[ 10] M S D N L ib ra ry - The E ssential R esource f o r D evelopers.
TECHNIKI KOMPUTEROWE 2/2000
Ro m a n Cz a j k o w s k i, Wo j c i e c h No w a k o w s k i In s t y t u t Ma s z y n Ma t e m a t y c z n y c h W A R S Z A W A
Ma r c i n Pa ś n i k o w s k i POLTECHNIKA WARSZAWSKA
A naliza m ożliw ości autom atycznej generacji polskich znak ów w fon tach p ostscriptow ych
O pis p rogram u - dokończenie
An analysis of the possibilities of the automatic generation of Polish fonds in the Postscript format
A description of the program - final part
Streszczenie
W arty k u le o m ó w io n o m o d u ły b loku e d y cji,o p isa n o sp o só b o b słu g i p ro g ram u i p rzed staw io n o w nioski p o d su m o w u ją ce w szystkie części tej pracy.
Abstract
T h e p a p e r d e sc rib e s th e m o d u les o f the ed itio n b lock, the pro g ram usage and g iv es th e final con clu sio n s.
1.5. Blok zapisu
O statnim blokiem , którego funkcje w iążą się z przetw arzaniem danych w ejścio
w ych je s t blok edycji. Po zakończeniu je g o działalności blok danych, pełniący rolę bazy danych zaw iera kom plet inform acji w oparciu o które m ożna w ygenerow ać now ą spolonizow aną czcionkę. Z a proces generacji now ego fontu odpow iedzialny je s t ostatni człon program u - b lo k zapisu. Jego funkcje o g ran iczają się w yłącznie d o operacji p rzekształcających dane zaw arte w bloku danych do postaci zgodnych z form atam i plików fontow ych stan d ard u T y p e 1. T ak ja k w przypadku pozostałych bloków , blok zapisu je s t podzielo n y na funkcjonalne m oduły, z których każdy realizuje pew ne w ydzielone operacje. M oduły te zostały zorganizow ane w postaci trzech gałęzi, z k tó rych k ażd a generuje dane w chodzące w skład innego pliku fontow ego. G ałąź pierw sza (p atrz rys. 4, [2]) składa się z dw óch m odułów : m odułu generacji ciała fontu i m odułu szyfrow ania ciała fontu. Ich produktem w yjściow ym je s t plik * .p fb , czyli zbiór danych
w form acie P ostscript F ont Body. W skład gałęzi pierw szej w chodzi rów nież opcjonalny m oduł form atow ania ciała fontu. P rzekształca on zaszyfrow any font do form atu P ostscript F ont A SC II, który następnie zostaje zapisany w zbiorze o rozszerzeniu *.pfa.
G ałęzie druga i trzecia, zaw ierająca odpow iednio m oduł generacji zbioru * .p fm i * .a fm odpow iedzialne są za generow anie zbiorów m etrycznych: P rin te r F ont M e tń c s i A S C II F ont Metrbc. Zbiory te zapisyw ane są w postaci plików o rozszerzeniu * .p fm i *.afm .
1.5.1. M o d u ł g e n e r a c ji ciała fontu
A by om ów ić zasadę działania m odułu generacji ciała fontu należy na m om ent pow rócić do ro zdziału 1.2.2 [2] opisującego m oduł analizy, p oniew aż m oduł ten pełni funkcje analogiczne do obecnie om aw ianego m odułu generacji ciała fontu. Z adaniem m odułu analizy była interpretacja danych w ejściow ych w postaci rozszyfrow anego zbioru * .p fb . M oduł ten skanow ał zbiór w ejściow y w poszukiw aniu istotnych danych z punktu w idzenia celu program u. G dy dane takie zostały znalezione, były one p rzeno
szone do bloku danych. Jako rezultat tych operacji otrzym yw ano b lok danych w ypeł
niony istotnym i inform acjam i oraz plik w yjściow y o znacznie zm niejszonym rozm iarze w stosunku do pliku w ejściow ego. Plik ten zaw ierał dane nie w ykorzystyw ane przez żaden inny m oduł program u.
M oduł generacji ciała fontu pełni funkcje odw rotne w zględem m odułu analizy.
Jego zadanie p olega na odtw orzeniu pełnej zaw artości zbioru * .p fb p oprzez uzupełnie
nie fragm entów usuniętych przez m oduł analizy, danym i zaw artym i w bloku danych. W m om encie zapisu, a w ięc w czasie d ziałania m odułu generacji ciała fontu, blok danych zaw iera ju ż inform acje na tem at polskich znaków . N a w yjściu otrzym uje się kom pletny zb ió r danych opisujących czcionkę w postaci nie zakodow anego pliku *.pfb.
1.5.2. M o d u ł sz y fro w a n ia ciała fo n tu
O sta tn ią o p e ra c ją w ieńcząca proces przetw arzania zbioru * .p fb je s t szyfrow anie.
Jest ono realizow ane przez m oduł szyfrow ania ciała fontu, który pracuje podobnie ja k opisany w rozdziale 1.2.1 [2] m oduł deszyfrow ania. Inna je s t tylko kolejność w ykony
w anych działań. A lgorytm szyfrujący je s t analogiczny do algorytm u deszyfrującego i p rzedstaw ia się następująco:
1. N ależy dodać na początek tekstu przeznaczonego do zaszyfrow ania liczbę # n bajtów random icznych o dow olnej w artości, gdzie # n je s t zazw yczaj rów ne 4 (w innych przypadkach je s t określone przez pozycję słow nika P riv a te o nazw ie le n lV .
2. N ależy zainicjow ać klucz kodujący R w arto ścią 55665, czyli ta k ą sam ą ja k w przypadku algorytm u deszyfrującego.
3. N astępnie należy, począw szy od czterech pierw szych random icznych bajtów , brać kolejne 8-bitow e znaki tekstu (dla ustalenia uw agi określane tu literą P ) i w ykonać na nich n astępujące czynności:
a) przypisać pom ocniczej zm iennej T osiem starszych bitów klucza kodującego R ;
Analiza możliwości automatycznej generacji polskich znaków. 21
b) w ykonać operację exclusive-O R na zm iennych T i P; rezultatem tej czynności będzie uzyskanie zaszyfrow anego bajtu C.
c) w ygenerow ać n astęp n ą w artość klucza kodującego R w edług formuły:
((C + R ) * c l + c2) m o d u lo 65536, gdzie c l i c2 są pew nym i stałym i o w artościach rów nych odpow iednio 52845 i 22719;
1.5.3, M o d u ł f o rm a to w a n ia ciała fo n tu
Jest to o pcjonalny m oduł dokonujący konw ersji form atu P ostscript F o n t B o d y na form at P o stscrip t F o n t A SC II. Jego zadanie ogranicza się w yłącznie do przetw arzania zbioru * .p fb , będącego produktem w yjściow ym m odułu szyfrow ania ciała fontu, na zbiór o postaci tekstow ej. O ba form aty zarów no P ostscript F ont B ody ja k i P ostscript F ont A S C II zostały opisane w rozdziale 1.2 pośw ięconym blokow i odczytu. N a p o d staw ie przedstaw ionych tam inform acji został opracow any algorytm form atujący.
Identyfikuje on zaszyfrow aną część zbioru * .p fb a następnie przekształca poszczególne je j bajty do postaci tekstow ej.
1.5.4. M o d u ł g e n e r a c ji z b io ru m e try c z n e g o A F M
P rojektow ana aplik acja potrafi ju ż w ygenerow ać zm odyfikow any zbiór * .p fb czyli P ostscript F ont B ody. M im o, iż zaw iera on praktycznie w szystkie m ożliw e dane na tem at czcionki (o p ró cz kem ingu), to je d n a k w praktyce dysponow anie w yłącznie zb io rem * .p fb je s t niew ystarczające. W spółcześnie, w iększość program ów przygotow ujące dokum enty do druku p rac u ją w technologii W Y S IW Y G . Term in ten je s t skrótem od słów W h at Y ou S ee Is W hat Y ou G et i o znacza tyle co m ożliw ość edycji dokum entu w takiej form ie, w ja k ie j będzie prezentow ać się na w ydruku. D zięki temu m ożna być pew nym co do ostatecznego w yglądu dokum entu, ju ż w fazie je g o projektow ania.
T echnologia ta w ym aga je d n a k pew nych danych, na podstaw ie których program p ra
cujący w technologii W Y SIW Y G m ógłby w ygenerow ać w ygląd w ydrukow anego dokum entu. A by m óc we w łaściw y sposób rozm ieścić tekst na dokum encie, trzeba dysponow ać zbiorem pew nych w artości liczbow ych opisujących poszczególne znaki.
O czyw iście m ożna by w ydobyć j e z pliku *.pfb, lecz w ym agałoby to od aplikacji stosow ania dość zaaw ansow anych technik i w iązałoby się z dużym i nakładam i ob licze
niow ym i i czasow ym i. A by nie o b arczać tymi zadaniam i program ów składających teksty, pew n a część użytecznych danych je s t w yekstrahow ana ze zbioru * .p fb i zapisana w sp ecjaln ie d o tego celu przeznaczonym zbiorze m etrycznym . Z biór ten je s t określany m ianem A dobe F ont M etrics i posiada ro zszerzenie *.afin. C harakteryzuje się ściśle o k reślo n ą stru k tu rą danych, zapisanych w form acie tekstow ym . Jego ogólna struktura przedstaw ia się następująco:
s e k c j a A
s e k c j a B
s e k c j a C
— s e k c j a D
Rys. 18. F orm at zbioru A dobe F ont M etrics
W sekcji A zaw arte są inform acje ogólne opisujące font ja k o całość. Poniżej znaj
duje się przykład tej części zbioru m etrycznego:
S ta r tF o n tM e tr ic s 3.0
C om m ent C opyright 1987-1992 as an unpublished w ork by B itstream Inc.
FontN am e S w iss721B T -L ight F ullN am e Sw iss 721 Light Fam ilyN am e Swiss 721 W eight Light
ItalicA ngle 0 IsF ixedP itch false
F o n tB B o x - 1 6 7 - 2 3 6 1181 965 U nderlinePosition - 1 0 4 U nderlineT hickness 49 V ersion 003.001
N otice C opyright 1987-1992 as an unpublished w ork by B itstream Inc.
E ncodingS chem e A dobeS tandardE ncoding C a p H e ig h t 719
X H e ig h t 519 A s c e n d e r 719 D e sc en d e r - 2 0 9
S ekcja A zbioru * .afm zaw iera dan e zorganizow ane w postaci pojedynczych linii tekstu. T e z nich, które ro zp o c zy n ają się od słow a C om m ent, interpretow ane s ą ja k o
StartFontMetrics 2.0
StartCharMetrics #n EndCharMetrics StartKernData StartKernPairs # EndKernPairs EndKernData
Start Composities #
EndComposities
EndFontMetrics
Analiza możliwości automatycznej generacji polskich znaków. 23
kom entarz i nie m a ją w iększego znaczenia z punktu w idzenia program ów analizujących zbiory *.afm . P ozostałe linie, poza parom a w yjątkam i, defin iu ją zaw artość od p o w iednich pozycji słow nika F ontln fo . C ztery ostatnie pozycje, tj. C a p H e ig h t, X H e ig h t, A sc e n d e r, D e s c e n d e r nie p o sia d a ją sw oich odpow iedników w słow niku F ontlnfo, a ich w artości w ynikają z p ośrednio z danych zaw artych w słow niku C harStrings. S ą to cztery m iary pionow e o kreślające w ysokości do których d o cierają pew ne grupy znaków o
„płaskich zakończeniach” :
C a p H eig h t - o kreśla w ysokość do której d o cierają w ielkie litery takie ja k X, Z, Y, T, W itp.
X H e ig h t - określa w ysokość do której d o cierają m ałe litery takie ja k x, z, w itp.
A s c e n d e r - określa w ysokość do której dociera np. litera b
D esc en d e r - o kreśla w ysokość na której kończy się np. pionow y elem ent litery q.
.. CapHeight
XHeight
Baseline - 0
. Descender. .
Rys. 19. C apH eight, X H eight, A scender, D escender
L inia S ta rtC h a rM etrícs #n rozpoczyna sekcję B, ok reśla ją cą w ym iary znaków.
Linia ta składa się z liczby łfn pow tarzających się sekw encji, z których każda opisuje pojedynczy znak i p o sia d a następujący format:
C #c ; W X #w x ; N [ñame] ; B # b l #b2 #b3 #b4 ;
Sekcja składa się z czterech grup oddzielonych od siebie znakam i średnika. G rupa pierw sza określa num er kodu p o d ja k im znak je s t w idoczny na zew nątrz fontu. M ów iąc inaczej param etr # c ok reśla pozycję pod ja k ą znak w ystępuje w w ektorze kodow ym . Jeśli # c przyjm uje w artość - 1 , o znacza to, że dany znak nie w ystępuje w w ektorze kodow ym .
G rupa druga definiuje długość znaku. Param etr # w x je s t tu liczb ą całk o w itą w yra
żo n ą w jed n o stk a ch układu w spółrzędnych ch a ra cter space.
Ascender
W reszcie, param etr [n a m e] w grupie trzeciej określa nazw ę znaku. D okładniej m ó w ią je s t to nazw a pod ja k ą dany o u tlin e w ystępuje w ew nątrz słow nika C harStrings.
Z adaniem ostatniej grupy rozpoczynającej się literą B je s t definicja ram ki, w ew nątrz której m ieści się znak. P aram etry # b l Ub2 # b 3 #b 4 o k reśla ją w sp ó łrzęd n ą lewego dolnego i praw ego górnego w ierzchołka prostokąta opisanego na znaku. Poniżej została przedstaw iona definicja znaku dolara:
C 36 ; W X 532 : N d o l l a r ; B 29 - 9 8 504 759 ;
W trzeciej z kolei sekcji C zaw arte s ą inform acje na tem at kerningu. K erning je s t to m echanizm , którego zadaniem je s t popraw a estetyki odbioru tekstu p oprzez w ym uszenie zm iany odległości pom iędzy pew nym i param i liter. O kazuje się bow iem , że w pew nych sytuacjach m ożna osiągnąć znacznie lepszy efekt w izualny, gdy sąsiednie znaki zbliży się lub rozsunie na odległość ró ż n ą od w ynikającej z ich faktycznej długości. Z a przykład m oże posłużyć para w ielkich liter L i T. U m ieszczone obok siebie w ygląd ają znacznie lepiej, gdy s ą zsunięte, tak by się naw zajem „zazębiały” . T akich p ar znaków je s t znacznie w ięcej i to w łaśnie one s ą opisane w sekcji C. O pis pojedynczej pary
przedstaw ia się następująco:
K P X [zn a k i] [znak2] offset
[ z n a k i] [znak2] są to nazwy odpow iednio pierw szego i drugiego znaku tw orzącego p arę dla której definiow any je s t kerning. P aram etr offset je s t lic zb ą ca łkow itą o k reślającą przesunięcie [zn a ku 2 ] w zględem pozycji w ynikającej z długości [znaku 1 ].
P aram etr ten je s t w yrażany we w spółrzędnych układu ch a ra cter space. K iedy przyjm uje w artości ujem ne oznacza to, że [zn a k2 ] należy przesunąć o p o d an ą liczbę je d n o ste k w lewo, w przeciw nym w ypadku - w praw o. Poniżej znajduje się definicja kerningu dla pary liter L i T:
K P X L T -8 3
O statnia sekcja D zaw iera inform acje na tem at liter złożonych z w ięcej niż je d n e g o elem entu. Przykładem takich znaków są w szystkie polskie litery generow ane przez program . Linia opisująca pojedynczy znak złożony prezentuje się następująco:
C C [znak] #n ; P C C [k o m p o n en tl] # d x l # d y l ;... ; P C C [kom ponentN ] #dxN #dyN ;
G rupa pierw sza rozpoczynająca się sym bolem C C (C om posite C haracter) określa nazw ę znaku i precyzuje z ilu składników je s t on zbudow any. D alej następuje # N grup definiujących poszczególne składniki. R o zp o czy n ają się one sym bolam i P C C (P art o f C om posite C haracter) po czym następuje nazw a znaku [kom ponentN ] i przesunięcie o tid xN i M y N je d n o ste k w zględem pozycji w ejściow ej. A oto przykład opisujący znak Ó składający się z litery O i znaku akcentu:
C C O acute 2 ; P C C O 0 0 ; P C C acute 129 205 ;
Analiza możliwości automatycznej generacji polskich znaków.. 25
Stosując się do w yżej opisanych regui m ożna opracow ać algorytm generujący zbiór
*.afm . Po przem yśleniu i przeanalizow aniu zagadnienia został opracow any algorytm o następującej strukturze:
Rys. 20. A lgorytm generujący zb ió r *.afm
1.5.5. M o d u ł g e n e r a c ji z b io ru m e try c z n e g o P F M
O statnim elem entem program u je s t m oduł generacji zbioru *.pfm . M im o usilnych starań nie udało się je d n a k zdobyć inform acji na tem at form atu tego zbioru. W obec braku m ożliw ości do tarcia do jak iejk o lw iek dokum entacji na wyżej w ym ieniony tem at, zrealizow anie m odułu generującego zbiór m etryczny * .p fm okazało się niem ożliw e.
Tym sam ym zagadnienie to pozostaje do ew entualnej realizacji w przyszłości.
2. Opis sposobu obsługi programu
E ksperym entalna w ersja program u została uruchom iona i poddana próbom eksploatacyjnym . Po uruchom ieniu program u na ekranie pojaw ia się okienko inform a
cyjne z k ró tk ą n o tk ą o program ie, a następnie ukazuje się okno głów ne o następującej postaci:
0 Font Korektor v1.2 s s n i - n i > < i
Plik | ?
Stwórz
Koniec
Rys. 21. W ygląd okna głów nego program u
C elem w czytania czcionki, należy w ybrać z m enu opcję Otw órz. N a ekranie p o ja
w ia się w tedy standardow e okienko dialogow e z zapytaniem o nazw ę otw ieranego zbioru fontow ego. Po w skazaniu odpow iedniego pliku rozpoczyna się proces w czyty
w ania czcionki. O stopniu zaaw ansow ania tej operacji inform uje specjalne okno d ia lo gow e, którego w ygląd zaprezentow ano poniżej:
Analiza możliwości automatycznej generacji polskich znaków... 27
-Z b ió r:---
C:\FONTKOR\HV .PFB
-S ta tu s :--- --- Formatowanie i analiza ciała fontu ...
Subrs
-Zawansowanie: --- Razem Bieżący Procent
Element 190 171 90
Stop
Rys. 22. W ygląd okna inform ującego o stopniu zaaw ansow ania operacji w czytyw ania czcionki
Inform uje ono użytkow nika o rod zaju aktualnie w ykonyw anej operacji i o stanie jej zaaw ansow ania. Przycisk Stop daje m ożliw ość przerw ania operacji w dow olnie w ybranym m om encie.
W razie napotkania p rzez program błędów w konstrukcji czcionki, operacji w czytyw ania zostaje przerw ana, a użytkow nik je s t inform ow any o przyczynie przer
w ania operacji w czytyw ania.
G dy proces otw ierania czcionki zostanie zakończony pom yślnie, na ekranie ukaże się okienko opisujące atrybuty czcionki o następującej postaci:
— . . . ...
Zbiór: cifO N T K O PA H V .PFB Font Name: Helvetica
Full Name: Helvetica Family Name: Helvetica Version: 001.006
[ Ok
Rys. 23. W ygląd okienka opisującego atrybuty czcionki
P o tych czynnościach w stępnych m ożna przystąpić do edycji polskich znaków . Do tej operacji p rzeznaczony je s t ekran głów ny o następującej postaci:
■ Font Korektor v1.2 - [C:\...\HV___ ___PFB] w s m m - □ !x i
Plik Font Qictioneiy ?
m n
DX: 0 DY: 0
ą (a z ogonkiem) Zamknij
\ Zamknij P4,P5,P6,P7
Rys. 24. W ygląd okna głów nego przeznaczonego do edycji polskich znaków
W górnej części ekranu znajduje się co m b o b o x oznaczony sym bolem C l . P rzy je g o pom ocy m ożna d okonać w yboru je d n ej spośród czternastu polskich liter, k tó rą chcem y poddać edycji. K ontury w ybranej litery' s ą rysow ane w oknie głów nym . Przyciski P I i P2, znajdujące się obok c o m b o b o x ’a C l , służą do w yboru kolejnej i poprzedniej litery, bez konieczności rozw ijania c o m b o b o x ’a.
Położenie akcentu w zględem litery podstaw ow ej ustala się za p om ocą przycisków P4, P5, P6 i P7. P rzyciski te przesuw ają akcent odpow iednio: w praw o, w lewo, w górę i w dół. A ktualna pozycja akcentu je s t w yśw ietlana w polach edycyjnych E l i E2 i je s t w yrażona w je d n o stk a ch em rów nych 1/1200 cala. Istnieje rów nież m ożliw ość ręcznego w pisania w artości przesunięcia w pola E l lub E2. O ba te sposoby ustalania położenia akcentu w zględem litery' podstaw ow ej są rów nopraw ne.
Poniżej przycisków P4-P7 zn a jd u ją się przyciski P8 i P9 oznaczone ja k o Reset i Zero. P ierw szy z nich - Reset, służy do przyw racania położenia akcentu do takiej pozycji w ja k ie j znajdow ał się przed przystąpieniem do edycji. P rzycisk P9 o nazw ie Zero ustaw ia zerow e przesunięcie akcentu, tj. zeruje w artości pól E l i E2.
Analiza możliwości automatycznej generacji polskich znaków. 2 9
3. Wnioski
C elem pracy inialo być stw orzenie pakietu oprogram ow ania, które dałoby osobie pracującej z fontam i A dobe T ype 1 m ożliw ość w ygenerow ania spolonizow anej w ersji czcionki. O program ow anie to m iało być proste w obsłudze, a zarazem funkcjonalne, tak by osoba nie p o siad ająca głębokiej w iedzy na tem at budow y czcionek form atu T y p e 1 m ogła b ez trudu posługiw ać się nim. A nalizując efekty końcow e, m ożna stw ierdzić, że podstaw ow y cel pracy został osiągnięty. P ow stało oprogram ow anie, za po m o cą którego m ożna tw orzyć czcionki zaw ierające w sw ym ciele w szystkie, popraw nie złożone polskie litery. Interfejs aplikacji został zaprojektow any w taki sposób by zapew nić ja k n ajw ięk szą w ygodę posługiw ania się nim . Jednocześnie aplikację w yposażono w w y
łącznie n iezbędne elem enty i funkcje, tak by była ona prosta w obsłudze, zachow ując je d n o cz eśn ie p e łn ą funkcjonalność. M ożna w ięc stw ierdzić, że w ym óg funkcjonalności i prostoty obsługi program u został spełniony, choć ocena taka, padająca z ust autora pracy je s t stw ierdzeniem dość subiektyw nym . O cenę należałoby raczej pozostaw ić osobie korzystającej z tego program u.
N iestety nie udało się zrealizow ać je d n e g o z elem entów składow ych program u, odpow iedzialnego za generację zbioru m etrycznego o nazw ie Printer F ont M etrics.
Spow odow ane to było brakiem ja k iejk o lw iek dokum entacji na ten tem at. Problem ten pozostaje w ięc otw arty, do ew entualnego rozw iązania w przyszłości. W chw ili obecnej do generacji brakującego zbioru m ożna w ykorzystać inne, istniejące aplikacje takie ja k np. F ontographer.
W czasie p rojektow ania aplikacji starano się uzyskać ja k najw iększy stopień autom atyzacji procesu obróbki zbiorów fontow ych, tak by spełnić w ym agania m ów iące o tym, że posługiw anie się a p lik ac ją nie pow inno w ym agać zbyt dużego w ysiłku i na
kładu pracy. W iększość czynności w ykonyw ana je s t autom atycznie bez udziału użyt
kow nika. Jedynym i operacjam i, które musi w ykonać osoba pracująca z ap lik ac ją je st w czytanie czcionki, ustalenie położenia akcentów w zględem liter podstaw ow ych, a następnie zapis now ej czcionki z polskim i literam i.
D o zagadnień, którym i ew entualnie m ożnaby się zająć w przyszłości, w sytuacji gdyby program okazał się dla w ielu osób zw iązanych z po lig rafią użyteczny, należy zaliczyć problem h in tin g ji. Być m oże okaże się, że generacja polskich liter pociągnie za so b ą konieczność w prow adzania now ych param etrów h in tin g ji. T o, czy zaistnieje taka konieczność czy nie, stw ierdzić będzie m ożna dopiero po użyciu czcionek w yge
nerow anych przez program w zastosow aniach profesjonalnych.
W śród elem entów , o które m ożna by program w zbogacić w przyszłości, m ogłaby znaleźć się pom oc kontekstow a on-line, tak by użytkow nik nie zaznajom iony z tem atem czcionek A dobe T y p e 1, m ający pierw szy kontakt z program em , m ógł szybko nauczyć się je g o obsługi.
W śród założeń postaw ionych przed rozpoczęciem pracy znalazł się w ym óg, aby projektow ane oprogram ow anie pracow ało popraw nie ze w szystkim i czcionkam i, nie
zależnie od w ersji form atu A dobe T y p l i producenta. P rzeprow adzone zostały liczne testy na tę okoliczność, dając pozytyw ne rezultaty.
Jeśli chodzi o w ym agania sprzętow e, to zostały one w pełni spełnione. Program Font K orektor pracuje popraw nie na kom puterach w yposażonych w procesory
począw szy od 486. W ym ogi odnośnie pam ięci s ą dość niew ielkie. Do pracy aplikacja w ym aga około 300 kB pam ięci RA M i kilkudziesięciu kilobajtów pam ięci przestrzeni dyskow ej.
Literatura
[ ł] C zajkow ski R., N ow akow ski W .: Fonty A d o b e T y p e 1. T echniki K om puterow e B iuletyn Inform acyjny, N r 1,1997.
[2] C zajkow ski R „ N ow akow ski W ., P aśnikow ski M.: A naliza m ożliw ości auto
m atycznej generacji polskich znaków w fontach postscriptow ych. O pis program u - część pierw sza. T echniki K om puterow e B iuletyn Inform acyjny, N r 1, 1998.
[3] C zajkow ski R., N ow akow ski W ., P aśnikow ski M.: A naliza m ożliw ości auto
m atycznej generacji polskich znaków w fontach postscriptow ych. O pis program u - część druga. T echniki K om puterow e B iuletyn Inform acyjny, N r 1, 1999.
[4] B rotz D ., P axton B., W alden J.: A dobe T y p e 1 F ont F orm at / A dobe System s Incorporated. A ddison-W esley P ublishing C om pany, R eading, M assachusetts, U SA , 1993.
[5] P aśnikow ski M.: A naliza m ożliw ości autom atycznej, program ow ej syntezy znaków polskich w fontach form atu A dobe T y p e 1. P raca dyplom ow a na W ydz.
Elektroniki Politechniki W arszaw skiej w ykonana pod kier. dr inż. W ojciecha N ow akow skiego, W arszaw a.
TECHNIKI KOMPUTEROWE 2/2000
Ma r e k Ka c p r z a k
In s t y t u t Ma s z y n Ma t e m a t y c z n y c h W A R SZ A W A
M etody sym u lacji kom puterow ej i ich przydatność w inżyn ierii p rocesów biznesow ych
Methods of computer simulation and their usufulness in fusiness process engineering
Streszczenie
W p ra cy p rzed staw io n o sk ró to w o cele i m eto d y k ę sym ulacji k o m puterow ej. O m ów io n o m ożliw ości z asto so w an ia sym ulacji ko m p u tero w ej w inżynierii p ro cesó w biznesow ych. P rz ed staw io n o celo w o ść z asto so w an ia sym ulacji n a przy k ład zie dw óch rzeczyw istych obiektów ' - p rz ed się b io rstw a p ro d u k cy jn eg o i han d lo w eg o .
Abstract
In th is p a p er go als and m eth o d o lo g y o f co m p u te r sim u latio n are briefly presented. P ossi
b ilities o f ap p licatio n s o f co m p u te r sim u la tio n in b u sin ess process en g in e erin g are discussed. T w o real-life ap p licatio n s o f co m p u te r sim u latio n fo r m anufacture com pany and trade en terp rise are also presented.
1. Cci i metodyka symulacji komputerowej
S ym ulacja kom puterow a je s t m e to d ą kom puterow ego w spom agania projektow ania now ych system ów lub analizy istniejących system ów w celu ich zm iany.
Istota sym ulacji kom puterow ej p olega na badaniu nie sam ych system ów , ale ich m odeli - sform alizow anych opisów system ów . M odele system ów zależą od czasu i param etrów (decyzji) określanych przez projektanta. N a podstaw ie m odelu system u tw orzony je s t kom puterow y m odel system u. K om puterow y m odel system u, d la ustalo
nych przez projektanta param etrów (decyzji), je s t w ykonyw any przez kom puter.
W ykonyw anie m odelu polega (najczęściej) na im itacji upływ u czasu. Jedno w ykonanie m odelu, zw ane przebiegiem sym ulacji, je s t je d n y m eksperym entem na m odelu.
M etodyka sym ulacji kom puterow ej [1] obejm uje następujące etapy:
1. O kreślenie zadania sym ulacji dla rozw ażanego systemu 2. Sform ułow anie m odelu system u