• Nie Znaleziono Wyników

Techniki Komputerowe : biuletyn informacyjny. R. 35. Nr 2

N/A
N/A
Protected

Academic year: 2022

Share "Techniki Komputerowe : biuletyn informacyjny. R. 35. Nr 2"

Copied!
98
0
0

Pełen tekst

(1)

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

(2)

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

(3)

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

(4)

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

(5)
(6)

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

(7)

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.

(8)

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,

(9)

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ść.

(10)

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 ę.

(11)

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.

(12)

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.

(13)

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ść,

(14)

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

(15)

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.

(16)

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

&

bssszmM

ty 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

(17)

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

(18)

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.

(19)
(20)

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

(21)

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 ;

(22)

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:

(23)

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

(24)

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

(25)

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 ;

(26)

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

(27)

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:

(28)

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

(29)

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.

(30)

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

(31)

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.

(32)

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

Cytaty

Powiązane dokumenty

Pakiet programów odoinka SPP.1.1 Jest wykorzystywany w sytuaojach, gdy w rozpatrywanej koncepcji projektowej mają byó rozwiązane problemy zapewnienia z góry

Ostatnim sposobem wyszukiwania jest bezpośrednie podanie numeru strony, który użytkownik roł-J- r:i r wykazu nndnwoćw informacji albo z informacji umieszczonych

System przerwań układu INS 6250 może być testowany przez zmianę wartości młodszych czterech bitów rejestru sterowania modemem. Nadanie dowolnemu z tych bitów wartości

Tak więc zależnie od tego, czy długość fali światła, przy której dokonuje się pom iaru transm isji światła, je st m niejsza czy też większa niż 550 nm,

Przy czym obecnie rynek ten jest w ogóle nieznaczny. .Jest to obecnie

CMS jest systemem .operacyjnym, który może działać tylko pod__kontrolą systemu TO, to znaczy zarządzać praoą maszyny wirtualnej, a nic rzeozywiste J.~Nląże się to

+ Rozwój systemów operacyjnych ozasu rzeczywistego w zakresie zarządzania bazą danyoh. Zakłada • się, że istniejąoe systemy baz danyoh powinny byó; rozwijane

Prenumerata ze zleceniem wysyłki za granicę pocztą zwykłą jest droższa od prenumeraty krajowej o 50 % dla zleceniodawców indywidual­.. nych i o 100 % dla zlecających