Dicionrio galego (normativa de mnimos) para o ispell
------------------------------------------------------

Este  un dicionrio de galego, usando a normativa de mnimos, para o
corrector ortogrfico ispell. Pode usa-lo, redistribui-lo ou modifica-lo
sob os termos da Licenza Pblica Xeral da GNU (vexa o ficheiro
LICENZA.txt).

Mais informacin sobre o corrector ortogrfico ispell na pxina:
	http://fmg-www.cs.ucla.edu/ficus-members/geoff/ispell.html. 

Mis informacin sobre este dicionrio en:
	http://ispell-gl.sourceforge.net/ispell-gl.html
	

Este dicionrio usa etiquetas maisculas e minsculas no ficheiro de afixos
(galician.aff), e 8 bits (latin1). A hora de compilar o ispell isto debe
ter-se en conta, asi no ficheiro local.h debe:
     incluir:  #define MASKBITS 64
e   eliminar:  #define NO8BIT 

Hoxe en dia a maioria das versin binrias de ispell que se distribuen xa
foron compiladas asi, e portanto son compatbeis con este dicionrio.

Para saber como foi compilada a sua versin de ispell empregue o comando
file, vaia ao directrio onde se achen os arquivos *.hash, usualmente
/usr/lib/ispell ou /usr/local/lib/ispell, e dixite:

file *****.hash, 

onde debe substituir os asteriscos por algun dicionrio que tea no seu 
computador, por exemplo americanmed+.hash ou americanxlg.hash. O resultado 
ser algo semellante ao seguinte:

	americanmed+hash: little endian ispell 3.1 hash file, 8-bit,
	capitalization, 52 flags and 128 string characters 

  Neste caso non haberia problemas, o ispell est preparado para traballar
con etiquetas maisculas e minsculas, e con 8 bits.

  Se no resultado puxera: capitalization, 26 flags and 100 string
characters, o ispell s entender as etiquetas maisculas, e o dicionrio
funcionar a meias, xa que non recoecer muitas palabras, mais funcionar.
Seria factbel adaptar o dicionrio para que funcionara deste modo .

  Se no resultado puxera, 7-bit, o ispell non entender as letras
acentuadas nen o , e portanto recomenda-se NON empregar este dicionrio
coa sua versin de ispell.


		=================
		|| INSTALACIN ||
		=================			

1) Compilar o ficheiro galician.hash. Para isto situe-se no directrio onde
estexan os ficheiros galician.words e galician.aff, e dixite:

	buildhash galician.words galician.aff galician.hash


2) Mover o ficheiro galician.hash ao directrio onde se achen os outros
arquivos *.hash, usualmente /usr/lib/ispell ou /usr/local/lib/ispell. Para
isto cumpre ter permiso de escritura no dito directrio.


			=========
			|| USO ||
			=========

Para corrixir o ficheiro foo.txt co ispell dixite

ispell -d galician -T modo foo.txt

onde "modo" pode ser un dos catro seguintes: 

	lat	 (usa a pxina de cdigos latin1, i.e. , ,  ...)
	tex	 (para ficheiros tex, i.e. \'a, \'e, \~n ...)
	pre	 (para ficheiros nroff, i.e. 'a, 'e, 'i ...)
	html  (para ficheiros html, i.e. &aacute;, &eacute;, &ntilde; ...)
	
o modo por defeito  o primeiro, de xeito que

ispell -d galician -T lat foo.txt == ispell -d galician foo.txt

Unha vez carregado, o ispell vai mostrando unha por unha as palabras que non
recoece como vlidas. Na parte esquerda da lia superior da xanela aparece a
palabra non recoecida, e no centro desta mesma lia o nome do ficheiro a
corrixir. En baixo aparecen unhas poucas lias do ficheiro contextualizando a
palabra non recoecida, que se salienta mediante a inversin do fondo. E por
baixo destas lias aparecen unha srie de suxerncias numeradas. Se dentro das
suxerncias mostradas est a forma correcta dixite o nmero correspondente e a
forma correcta subtituir a incorrecta. Se as suxerncias son mis de nove os
nmeros tern duas cifras e cumpre dixitar ambas, ainda que a primeira sexa un
zero. Por ltimo na parte inferior da xanela aparecen as seguintes opcins:

[SP]	     Premer a tecla de espazo. Aceita a palabra tal como est, esta vez 
          nada mis.
<number>  Dixitar o nmero da suxestin axeitada.
R)epl	Premer a tecla R. Permite corrixir a palabra manualmente.
A)ccept	Premer a tecla A. Aceita a palabra como est e a considera vlida no
		resto da sesin.
I)insert	Premer a tecla I. Aceita a palabra, con as maiusculas que poida ter, e
          Inclui-a no dicionrio persoal.
L)ookup	Premer a tecla L. Procura palabras no dicionrio do sistema, que  un
          dicionrio diferente dos dicionrios de ispell.
U)ncap	Premer a tecla U. Aceita a palabra, transformando todo a minsculas, e
          inclui-a no dicionrio persoal.	
Q)uit	Premer a tecla Q. Remata a correccin sen salvar as correccins feitas
          at o momento.
e(X)it	Premer a tecla X. Remata a correcin neste ponto, salvando a
          correccins feitas at o momento.
?		Premer a tecla ?. Axuda (en ingls).
^L		Redebuxa a xanela


Ademais de como programa individual o ispell  usado como corrector ortogrfico
por distintos programas, que explican o seu uso, normalmente mis cmodo que o
descrito.

Para mais informacin sobre o ispell dixite: man ispell.


		=================
		|| LIMITACINS ||
		=================

  1.  Esta  a versin 0.5 e ainda dista de ser completo, contando con 
24000 palabras raices no galician.words. Contodo como o ficheiro de afixos, 
galician.aff,  bastante completo o total de palabras xeradas, no 
galician.hash, e portanto recoecidas  de 515.176. Asi por
exemplo da palabra raiz "amor" derivan-se 53 formas verbais distintas, e
ademais "amador, amadora, amadores, amadoras, amante, amantes, ambel e
ambeis.

  2. Os pronomes, ou contracins de pronomes, tonos enclticos unen-se ao
verbo mediante o trazo. O ispell con este dicionrio recoece a maioria das
formas verbais con pronomes enclticos, mais non da recoecido como vlidas
as 1 e 2 persoas do plural de caisquer tempos seguidos dos pronomes
tonos -lo(s) e -la(s), e tampouco as 1 persoas do plural seguidas do
pronome -nos.
  
    Asi non recoece: collemo-lo, collede-las, colleste-los, collamo-la,
                      colleremo-nos ...
         si recoece: coll-lo, collin-na, colleche-mo, collern-cho, 
	                 collemos-lle, collestes-nos, coller-se, collias-lles,
				  colleran-vos, colleres-lle-la ...

Da como vlidas falsamente as formas coll, and ... que son necesrias
para dar por vlidas (correctamente): coll-lo, and-los, etc. Consideramos
que as formas coll, and, etc dificilmente poden ser escritas por erro.

  3. Esta  a versin 0.1, sendo portanto de esperar que ademais de ser cativa 
tea mis erros do que seria desexbel nun dicionrio. Contamos coa 
colaboracin d@s usuri@s para detectar e corrixir tais erros.
	


			===============
			|| CONSELLOS ||	
			===============  

O ispell non sempre apresenta as suxerncias mis acadas, asi se unha palabra
non  recoecida como correcta  conveniente facer o seguinte:

	1) Se hai unha "b" troca-la por unha "v"
	2) Se hai unha "v" troca-la por unha "b"
	3) Caso de ter escrito unha forma rematada en "-cin" ou "-sin" troca-la 
	   pola rematada en "-zn" ou "-sn"
	4) Caso de ter escrito unha forma rematada en "-zn" ou "-sn" troca-la
	   pola rematada en "-cin" ou "-sin"
	   
				  

		================================
		|| AMPLIACINS E MODIFICACIN ||
		================================

O ispell est preparado para ir engadindo novas palabras ao dicionrio privado,
un dicionrio que cria o propio ispell para cada usuri@, que en unix vai-se
chamar ".ispell_galician" (para o galego, para outras lnguas ter un nome
similar) e en DOS(Windows) chamar-se "_galician". Como se veu ao descreber o 
uso este dicionrio privado vai-se formar coas palabras que non estando no
dicionrio principal @ usuri@ considera correctas. O dicionrio privado  un
ficheiro de texto que portanto pode se editado con calquer editor de texto,
ainda que loxicamente cumpre ter CAUTELA.

Ademais  posbel modificar o diconrio principal, para o cal a CAUTELA debe ser
ainda maior. Un dicionrio ispell xera-se a partir de dous ficheiros de texto,
un con raices (neste caso galician.words) e outro con afixos (galician.aff). Por
tanto modificar o dicionrio resulta moi sinxelo, face-lo ben precisa de
bastante atencin, pois avonda con modificar algun dos dous ditos ficheiros e
logo compilar o ficheiro hash, tal e como se descrebeu no apartado de
instalacin.

Exemplos de modificacin do dicionrio principal.

A) Quere-se que o dicionrio considere como vlidas unicamente as terminacins
   xenunas -zn, -sn, -tn e -xn. 
   
   1) Abre-se o ficheiro galician.words nun editor de texto e usando o comando
      procurar/trocar trocan-se:
	 						cin/ --> zn/
							sin/ --> sn/
							xin/ --> xn/
							tin/ --> tn/
	 tendo en conta que ocasin debe escreber-se con i. Ademais troca-se o 
	 sufixo c polo sufixo o en todos os verbos que o leven.
	 
   2) Abre-se o ficheiro galician.aff nun editor de texto e modifican-se
      o sufixos C, trocando "cin" por "zn" e "cins" por "zns". Asi tera-se:

 		flag *C:                  # "CAT=v,T=inf"      # zn
		T A R       > -TAR,ZN    # "CAT=nc,G=f,N=s"   # cantar->cancin
		C I O N A R > -IONAR,ZN  # "CAT=nc,G=f,N=s"   # adicionar->adizn
		A I R       > -IR,CZN    # "CAT=nc,G=f,N=s"   # atrair->atraczn
		U I R       > -IR,ZN     # "CAT=nc,G=f,N=s"   # evoluir->evoluzn	 
	 
        T A R       > -TAR,ZNS   # "CAT=nc,G=f,N=p"   # cantar->cancins
		C I O N A R > -IONAR,ZNS # "CAT=nc,G=f,N=p"   # adicionar->adizns
		A I R       > -IR,CZNS   # "CAT=nc,G=f,N=p"   # atrair->atraczns
		U I R       > -IR,ZNS    # "CAT=nc,G=f,N=p"   # evoluir->evoluzns
	 
B) Quere-se que o dicionrio considere vlidas as 2 persoa do plural do 
   presente de imperativo rematadas en -de, xogade, comede, dormide ...
   	 
	 1) Abre-se o ficheiro galician.aff nun editor de texto e buscan-se as
	    ditas persoas, modificando-se axeitadamente:
	    
	    no flag Y
	    
	             AR  > -R,DE  # "P=2,N=p,T=i"   #andar->andade
      
    		     ER  > -R,DE  # "P=2,N=p,T=i"   #viver->vivede
	     
	    engadir  IR  > -R,DE  # "P=2,N=p,T=i"   #partir->partide
	    
	    
	    no flag K
	    
	    engadir G R E D I R > -R,DE # "P=2,N=p,T=i"   #agredir->agredide
	    engadir R I R       > -R,DE # "P=2,N=p,T=i"   #rir->ride
	            D I C E R   > -R,DE # "P=2,N=p,T=i"   #dicer->dicede
		    	F A C E R   > -R,DE # "P=2,N=p,T=i"   #facer->facede
		    	P R A C E R > -R,DE # "P=2,N=p,T=i"   #pracer->pracede
		    	T E R       > -R,DE # "P=2,N=p,T=i"   #ter->tede
		    	V E R       > -R,DE # "P=2,N=p,T=i"   #ver->vede
		    	V I R       > -R,DE # "P=2,N=p,T=i"   #vir->vide
			  
	2) Abre-se o ficheiro galician.word e fan-se os seguintes trocos
	   cabei->cabede, dai->dade, estai->estade, habei->habede, podei->podede,
	   querei->querede, sabei->sabede, traei->traede.

	    


----------

Comentrios, novas palabras importantes, e erros poden enviar-se a
Ramn Flores <fa2ramon@usc.es>
