               Uposty%ricy ty*s Ellyniky%*s Glw%ssa*s sto FreeBSD

  Niko%lao*s Ko%kkaly*s

   <nickkokkalis@yahoo.co.uk>

   Anathew%rysy: 8def749c53

   Pneumatika% Dikaiw%mata (c) 2006-2008 Niko%lao*s Ko%kkaly*s

   To FreeBSD ei%nai e%na katoxurwme%no emporiko% su%mbolo tou FreeBSD
   Foundation.

   Polle%*s apo% ti*s le%cei*s y% fra%sei*s oi opoi%e*s xrysimopoiou%ntai
   apo% tou*s kataskeuaste%*s y% tou*s pwlyte%*s tou*s gia na diakri%noun ta
   projo%nta tou*s thewrou%ntai emporika% su%mbola. O%pou aute%*s
   emfani%zontai se auto% to kei%meno kai gia o%se*s apo% aute%*s gnwri%zei y
   Oma%da Ana%ptucy*s tou FreeBSD o%ti ei%nai pithano%n na ei%nai emporika%
   su%mbola, tha dei%te e%na apo% ta su%mbola: <<TM>> y% <<(R)>>.

   Teleutai%a tropopoi%ysy sti*s 2013-11-13 07:52:45 +0000 apo% Hiroki Sato.
   Peri%lyqy

   Auto% to kei%meno di%nei odygi%e*s gia ti*s ruthmi%sei*s pou xreia%zontai,
   w%ste na mporou%me na diaba%soume kai na gra%qoume Ellynika% sto FreeBSD,
   to%so se kata%stasy konso%la*s o%so kai xrysimopoiw%nta*s to grafiko%
   periba%llon Xorg.

   [ HTML se tmy%mata / HTML se e%na tmy%ma ]

     ----------------------------------------------------------------------

   Pi%naka*s Periexome%nwn

   1. Eisagwgy%

   2. Ruthmi%sei*s gia Ellynika% styn konso%la tou FreeBSD

   3. Ruthmi%sei*s gia Ellynika% sto grafiko% periba%llon Xorg

   4. Ellynike%*s grammatoseire%*s gia to periba%llon Xorg

   5. Ruthmi%sei*s gia Ellynika% se dia%fore*s efarmoge%*s.

1. Eisagwgy%

   Y ru%thmisy ty*s uposty%ricy*s tou FreeBSD gia tyn Ellyniky% glw%ssa
   ei%nai arketa% eu%koly, se ka%the epi%pedo. Me sxetika% li%ge*s
   ruthmi%sei*s, mporei% na gra%qei kai na diaba%sei kanei%*s swsta%
   Ellynika% me tyn epi%symy kwdikopoi%ysy ISO/IEC{{{nbsp}}}8859-7, to%so se
   kata%stasy konso%la*s o%so kai me%sa apo% to grafiko% periba%llon Xorg. An
   kai oi ruthmi%sei*s pou aforou%n apokleistika% sto FreeBSD ei%nai aute%*s
   ty*s konso%la*s, edw% tha anaferthou%n kai aute%*s pou aforou%n kai ta
   Xorg alla% kai ti*s epime%rou*s efarmoge%*s.

   Afou% diaba%sete auto% to a%rthro tha ce%rete:

     * Pou tha brei%te Ellynike%*s grammatoseire%*s, to%so gia tyn konso%la
       tou FreeBSD o%so kai gia Xorg.

     * Pw%*s na ori%sete mia antistoixi%a plyktrologi%ou (<<keymap>>) se
       kata%stasy konso%la*s, y opoi%a na epitre%pei tyn eisagwgy% Ellynikou%
       keime%nou, me tyn kwdikopoi%ysy ISO/IEC{{{nbsp}}}8859-7.

     * Pw%*s na ori%sete o%ti y prokathorisme%ny grammatoseira% se kata%stasy
       konso%la*s tha ei%nai ka%poia pou e%xei Ellynikou%*s xarakty%re*s.

     * Pw%*s na ori%sete mia antistoixi%a plyktrologi%ou (<<keymap>>) se
       kata%stasy grafikw%n, y opoi%a na epitre%pei tyn eisagwgy% Ellynikou%
       keime%nou, me tyn kwdikopoi%ysy ISO/IEC{{{nbsp}}}8859-7.

     * Pw%*s na sty%sete grammatoseire%*s gia to grafiko% periba%llon tou
       FreeBSD, oi opoi%e*s tha e%xoun uposty%ricy to%so gia UTF-8 o%so kai
       gia ISO/IEC{{{nbsp}}}8859-7 Ellynika%.

2. Ruthmi%sei*s gia Ellynika% styn konso%la tou FreeBSD

   Styn konso%la oi ruthmi%sei*s aforou%n du%o sta%dia. To prw%to sta%dio
   gi%netai kata% ton i%dio tro%po pa%nta, enw% to deu%tero diaforopoiei%tai
   ana%loga me to ke%lufo*s (<<shell>>).

     * Ruthmi%sei*s gia tyn prokathorisme%ny grammatoseira% ty*s konso%la*s
       kai mia antistoixi%a plyktrologi%ou me uposty%ricy gia Ellynika%.

     * Ruthmi%sei*s e%tsi w%ste to periba%llon tou kelu%fou*s na upostyri%zei
       tyn Ellyniky% glw%ssa.

  2.1. Ellyniky% grammatoseira% kai antistoixi%a plyktrologi%ou gia tyn konso%la

   Gia na mpore%soume na diaba%soume kai na gra%qoume Ellynika% me tyn
   kwdikopoi%ysy ISO/IEC{{{nbsp}}}8859-7 styn konso%la tou FreeBSD
   xreiazo%maste toula%xiston du%o arxei%a: mia grammatoseira% kai mia
   antistoixi%a plyktrologi%ou.

   O Giorgos Keramidas e%xei ftia%cei mia te%toia grammatoseira% kai mia
   antistoixi%a plyktrologi%ou. Auta% ta du%o arxei%a den ei%nai me%ro*s tou
   basikou% susty%mato*s tou FreeBSD ty stigmy% pou gra%fontai aute%*s oi
   gramme%*s, opo%te tha xreiastei% na ta kateba%sete apo% to di%ktuo. Gia na
   kateba%sete ta du%o arxei%a pou xreia%zontai kai na ta topothety%sete ston
   kata%llylo kata%logo gia ton tu%po tou ka%the arxei%ou, mporei%te na
   tre%cete ti*s paraka%tw entole%*s:

 # cd /usr/share/syscons/fonts
 # fetch 'http://people.freebsd.org/~keramida/files/grfixed-8x16.fnt'
 # cd /usr/share/syscons/keymaps
 # fetch 'http://people.freebsd.org/~keramida/files/keramida.el-iso.kbd'

  2.2. Energopoi%ysy ty*s Ellyniky%*s uposty%ricy*s styn konso%la

   Gia na ori%soume w*s prokathorisme%ny grammatoseira% kai antistoixi%a
   plyktrologi%ou aute%*s pou kateba%same, arkei% na ba%loume sto arxei%o
   /etc/rc.conf ti*s paraka%tw ruthmi%sei*s:

 font8x16="grfixed-8x16"
 keymap="keramida.el-iso"

   Me aute%*s ti*s ruthmi%sei*s, to su%styma% ma*s tha xrysimopoiei% ta
   arxei%a pou mo%li*s kateba%same apo% tyn epo%meny fora% pou tha
   cekiny%sei. Sto FreeBSD de xreia%zetai o%mw*s na ka%noume epanekki%nysy
   gia mia te%toia mikry% allagy%. Mporou%me apla% na tre%coume se mia
   konso%la ti*s entole%*s:

 % vidcontrol -f 8x16 grfixed-8x16 < /dev/ttyv0
 % kbdcontrol -l keramida.el-iso < /dev/ttyv0

   Aute%*s oi entole%*s tha fortw%soun ekei%ny ty stigmy% ty ne%a
   grammatoseira% konso%la*s, kai ty ne%a antistoixi%a plyktrologi%ou.

  2.3. Ruthmi%sei*s gia to ke%lufo*s xry%sty

   Me ti*s ruthmi%sei*s pou e%xoume ka%nei w*s tw%ra den e%xei
   energopoiythei% ply%rw*s y Ellyniky% uposty%ricy. Ka%the pro%gramma pou
   tre%xei sto FreeBSD, ako%ma kai to ke%lufo*s xry%sty pou xrysimopoiou%me,
   ecarta%tai apo% ti*s tre%xouse*s ruthmi%sei*s <<locale>>, gia na ce%rei se
   ti glw%ssa douleu%oume.

   Oi prokathorisme%ne*s ruthmi%sei*s locale upostyri%zoun mo%no tyn
   eisagwgy% kai ana%gnwsy keime%nou se Agglika%, opo%te pre%pei na
   alla%zoume ti*s ruthmi%sei*s aute%*s gia na mporei% to ke%lufo*s ma*s na
   doule%qei swsta% me tyn Ellyniky% glw%ssa.

    2.3.1. Ruthmi%sei*s gia to ke%lufo*s sh(1)

   An to ke%lufo*s pou xrysimopoiou%me ei%nai to sh(1), pre%pei na ba%loume
   sto arxei%o .profile tou logariasmou% ma*s ti*s ecy%*s ruthmi%sei*s:

 export LANG="el_GR.ISO8859-7"
 export LC_CTYPE="el_GR.ISO8859-7"
 export LC_COLLATE="el_GR.ISO8859-7"
 unset LC_ALL LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME

    2.3.2. Ruthmi%sei*s gia to ke%lufo*s csh(1)

   An to ke%lufo*s pou xrysimopoiou%me ei%nai to csh(1), pre%pei na ba%loume
   sto arxei%o .cshrc tou logariasmou% ma*s ti*s ecy%*s ruthmi%sei*s:

 setenv LANG "C"
 setenv LC_CTYPE "el_GR.ISO8859-7"
 setenv LC_COLLATE "el_GR.ISO8859-7"
 unsetenv LC_ALL LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME

    2.3.3. Ruthmi%sei*s gia to ke%lufo*s bash

   An to ke%lufo*s pou xrysimopoiou%me ei%nai to bash, pre%pei na ba%loume
   sto arxei%o .bashrc tou logariasmou% ma*s ti*s ecy%*s ruthmi%sei*s:

 export LANG="el_GR.ISO8859-7"
 export LC_CTYPE="el_GR.ISO8859-7"
 export LC_COLLATE="el_GR.ISO8859-7"
 unset LC_ALL LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME

   Epi%sy*s, eidika% gia to bash, pre%pei na ba%loume kai ti*s ecy%*s
   ruthmi%sei*s sto arxei%o .inputrc tou logariasmou% ma*s:

 set convert-meta Off
 set input-meta On
 set output-meta On

3. Ruthmi%sei*s gia Ellynika% sto grafiko% periba%llon Xorg

   Ta pio sunythisme%na grafiko% periba%llon ergasi%a*s se FreeBSD
   basi%zontai styn platfo%rma Xorg. Oi ruthmi%sei*s gia uposty%ricy
   Ellynikw%n se Xorg ei%nai entelw%*s i%die*s me aute%*s pou xrysimopoiei%
   to periba%llon Xorg kai se a%lla UNIX susty%mata (p.x. se GNU/Linux).

   Arxika%, pre%pei na ruthmi%sete to periba%llon Xorg e%tsi w%ste na cekina%
   swsta%-ako%my kai xwri%*s Ellynika%. Gia plyrofori%e*s sxetika% me ti*s
   prw%te*s aute%*s ruthmi%sei*s, dei%te to anti%stoixo kefa%laio sto
   Egxeiri%dio tou FreeBSD.

   Afou% katafe%rete na ruthmi%sete ta pa%nta gia na cekina% to grafiko%
   periba%llon Xorg, pre%pei na topothety%sete ti*s paraka%tw gramme%*s sto
   arxei%o /etc/X11/xorg.conf:

 Section "InputDevice"
     Identifier "Keyboard1"
     Driver "kbd"
     Option "XkbRules" "xorg"
     Option "XkbModel" "pc105"
     Option "XkbLayout" "us,el"
     Option "XkbOptions" "grp:alt_shift_toggle"
 EndSection

   An sto arxei%o /etc/X11/xorg.conf upa%rxei y%dy e%na te%toio tmy%ma,
   mporei%te na tropopoiy%sete to upa%rxon tmy%ma. Xrysimopoiy%ste ton
   xarakty%ra <<#>> gia na sxolia%sete o%poie*s gramme%*s de the%lete na
   kraty%sete apo% to arxiko% <<InputDevice>>.

  Symei%wsy:

   Genika%, upa%rxoun toula%xiston du%o diaforetika% <<InputDevice>> tmy%mata
   se e%na sunythisme%no arxei%o /etc/X11/xorg.conf: e%na gia to
   prokathorisme%no plyktrolo%gio ki e%na gia to prokathorisme%no ponti%ki.
   Prosoxy% na ka%nete o%poie*s tropopoiy%sei*s e%xete kata% nou sto tmy%ma
   to opoi%o anafe%rei to plyktrolo%gio (auto% symai%nei to <<Identifier
   "Keyboard1">> parapa%nw).

   Me ti*s ruthmi%sei*s pou e%xoume ka%nei w*s tw%ra den e%xei
   energopoiythei% ply%rw*s y Ellyniky% uposty%ricy. Sto FreeBSD ka%the
   pro%gramma, ako%ma kai to periba%llon Xorg pou xrysimopoiou%me, ecarta%tai
   apo% ti*s tre%xouse*s ruthmi%sei*s <<locale>>, gia na ce%rei se ti glw%ssa
   douleu%oume.

   Oi prokathorisme%ne*s ruthmi%sei*s locale upostyri%zoun mo%no tyn
   eisagwgy% kai ana%gnwsy keime%nou se Agglika%, opo%te pre%pei na
   alla%zoume ti*s ruthmi%sei*s aute%*s gia na mporei% to periba%llon Xorg na
   doule%qei swsta% me tyn Ellyniky% glw%ssa.

   Gia auto%n ton lo%go parametropoiou%me to arxei%o .xinitrc sto logariasmo%
   ma*s. Pio sugkekrime%na tha pre%pei na prosthe%soume ti*s paraka%tw
   gramme%*s se auto%:

 export LANG="el_GR.ISO8859-7"
 export LC_CTYPE="el_GR.ISO8859-7"
 export LC_COLLATE="el_GR.ISO8859-7"

   Prin cekiny%sete na xrysimopoiei%te ta X, bebaiwthei%te epi%sy*s o%ti
   e%xete ti*s swste%*s ruthmi%sei*s locale sto ke%lufo*s sa*s. E%tsi tha
   apofu%gete pithana% probly%mata apeiko%nisy*s Ellynikw%n se ka%poie*s
   efarmoge%*s. Dei%te tyn eno%tyta Ruthmi%sei*s gia to ke%lufo*s xry%sty.

   Me aute%*s ti*s ruthmi%sei*s, to periba%llon Xorg tha cekina% me to swsto%
   <<process environment>> gia na upostyri%zei tyn Ellyniky% glw%ssa.

   Polle%*s efarmoge%*s pou tre%xoun se periba%llon Xorg mporou%n na
   ruthmistou%n ori%zonta*s mia seira% apo% <<X11 resources>>. Auta% ta
   <<resources>> ei%nai, genika%, zeuga%ria apo% time%*s ty*s morfy%*s:

 O%nomaResource: Timy% tou resource

   Oi time%*s aute%*s ori%zontai sto arxei%o .Xresources tou logariasmou%
   ma*s.

   Gia to XTerm kai anti%stoixe*s efarmoge%*s termatikou%, mporei% na
   ruthmistei% y grammatoseira% e%tsi w%ste na xrysimopoiei%tai mia me
   Ellyniky% uposty%ricy, ori%zonta*s ti*s paraka%tw time%*s sto arxei%o
   .Xresources:

 XTerm*font: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-7

  Symei%wsy:

   Meta% apo% allage%*s sto arxei%o .Xresources, de xreia%zetai epanekki%nysy
   tou periba%llonto*s Xorg. Arkei% apla% na tre%coume tyn entoly%:

 % xrdb -merge ~/.Xresources

4. Ellynike%*s grammatoseire%*s gia to periba%llon Xorg

   To periba%llon Xorg e%rxetai me e%na basiko% su%nolo grammatoseirw%n se
   morfy% <<bitmap>>. Merike%*s apo% aute%*s e%xoun uposty%ricy ellynikw%n,
   ei%te gia tyn kwdikopoi%ysy ISO/IEC{{{nbsp}}}8859-7, ei%te gia tyn
   kwdikopoi%ysy ISO/IEC{{{nbsp}}}10646 (Universal Character Set). Oi
   basike%*s bitmap grammatoseire%*s pou diane%montai me to Xorg e%xoun sto
   te%lo*s apo% to o%noma% tou*s tyn kwdikopoi%ysy, opo%te mporei%te na ti*s
   brei%te eu%kola me to ergalei%o xlsfonts(1). Gia na dei%te, gia
   para%deigma, poie%*s basike%*s grammatoseire%*s upostyri%zoun tyn
   kwdikopoi%ysy ISO/IEC{{{nbsp}}}8859-7 mporei%te na xrysimopoiy%sete tyn
   entoly%:

 % xlsfonts | fgrep -i iso8859-7

   Anti%stoixa, gia na brei%te poie%*s grammatoseire%*s upostyri%zoun tyn
   kwdikopoi%ysy ISO/IEC{{{nbsp}}}10646, opo%te mporou%n na xrysimopoiythou%n
   gia tyn apeiko%nisy keime%nwn me kwdikopoi%ysy UTF-8, mporei%te na
   xrysimopoiy%sete tyn entoly%:

 % xlsfonts | fgrep -i iso10646

   Ako%my perisso%tere*s grammatoseire%*s me uposty%ricy gia apeiko%nisy
   Ellynikw%n xarakty%rwn mporei%te na brei%te sty sullogy% twn Ports. Y
   katygori%a x11-fonts perie%xei sulloge%*s grammatoseirw%n o%pw*s oi
   paraka%tw:

     * x11-fonts/bitstream-vera

     * x11-fonts/dejavu

     * x11-fonts/liberation-fonts-ttf

     * x11-fonts/urwfonts-ttf

     * x11-fonts/webfonts

   O%le*s aute%*s oi grammatoseire%*s ei%nai se morfy% TrueType(R). E%tsi den
   e%xoun tou*s periorismou%*s mege%thou*s pou e%xoun oi basike%*s, bitmap
   grammatoseire%*s, kai mporou%n na apeikoni%soun Ellynikou%*s xarakty%re*s
   sxedo%n se opoiody%pote me%getho*s, me arketa% ikanopoiytika%
   apotele%smata.

   An xrysimopoiei%te ka%poio apo% ta dymofily% periba%llonta ergasi%a*s gia
   Xorg, o%pw*s to GNOME y% to KDE, oi TrueType(R) grammatoseire%*s apo%
   aute%*s ti*s sulloge%*s beltiw%noun pa%ra polu% tyn poio%tyta
   apeiko%nisy*s se o%le*s ti*s efarmoge%*s tou periba%llonto*s ergasi%a*s.
   Opo%te si%goura aci%zei ton ko%po na ti*s dokima%sete.

5. Ruthmi%sei*s gia Ellynika% se dia%fore*s efarmoge%*s.

   Gia na diaba%zoume kai na gra%foume ISO/IEC{{{nbsp}}}8859-7 Ellynika% me
   ton epecergasty% keime%nou editors/emacs tha pre%pei na prosthe%soume sto
   .emacs tou logariasmou% ma*s ti*s ecy%*s ruthmi%sei*s:

 (setq unibyte-display-via-language-environment t)
 (if (< emacs-major-version 22)
     (set-language-environment "Greek"))
 (set-terminal-coding-system 'greek-iso-8bit)
 (set-input-mode (car (current-input-mode))
                 (nth 1 (current-input-mode))
                 0)

   Gia na diaba%zoume kai na gra%foume ellynika% me ton epecergasty%
   keime%nou editors/vim se grafiko% periba%llon, tha pre%pei na
   prosthe%soume sto arxei%o .vimrc tou logariasmou% ma*s ti*s ecy%*s
   ruthmi%sei*s:

 set gfs=fixedgr

   Gia na diaba%zoume kai na gra%foume ellynika% me to pro%gramma
   ylektroniky%*s allylografi%a*s mutt tha pre%pei na prosthe%soume sto
   .muttrc to paraka%tw komma%ti:

 set charset="greek"
 set send_charset="US-ASCII:ISO-8859-1:ISO-8859-7:UTF-8"
