Alaska Xbase++

Alaska Xbase++
Programiranje u Xbase++

20. 09. 2017.

Serbian (Latin, Serbia) Keyboard and Serbian cyrilic

1.
U Xbase++ programu (aplikaciji) mogu se istovremeno prikazivati i slova latinice i slova ćirilice ako se radi sa promenom codne strane (codepage) slova (fontova) i ako se za slova koriste fontovi koji imaju mogućnost prikaza ćirilice, a to su skoro svi standardni windows fontovi:
- Tahoma
- Arial
- Verdana
- Times New Roman
i ostali

Windows sistem se setuje u delu Region and Language na Serbian (Latin, Serbian)
Posle toga po defaultu Xbase++ programi rade sa kodnom stranom codepage=238/1250
ako se na startu programa zada SET CHARSET TO ANSI.

Ovo znači da će se sa tastature Serbian (Latin, Serbian) za svaki font dobijati slova ŠĐČĆŽ

Međutim, ako se za neki od navedenih fontova formira novi font objekat

oFont := XbpFont():new()
oFont:familyName := 'Arial'
oFont:nominalPointSize := 12
oFont:bold := .t.
oFont:italic := .t.
oFont:underScore := .t.
oFont:codePage := 204 // CodePage Serbian cyrilic=204/1251
oFont:create()

pa se nekom XbasePart objektu dodeli taj font sa
     oXbpBrowse:SetFont(oFont)
ili sa
     EVAL{|| oXbpBrowse:SetFont(oFont) }
taj objekat će na dalje imati tekst sa ćiriličnim slovima pod uslovom da se tekst piše sa tastature koja je postavljena na Serbian (Cyrilic, Serbian) u kom slučaju se koriste posebni tasteri za dobijanje ćiriličnih slova (slika 1)




U ovom slučaju slova u TitleBaru aplikacionih prozora biće uvek isti default font i iste default veličine i iste default kodne strane 238 i ne mogu se menjati.

Tek kada je Windows setovan na Serbian (Cyrilic, Serbian) slova u TitleBaru biće ćirilična: isti default font, iste default veličine i iste default kodne strane 204.

U ovom slučaju slova u CAPTION objekta za XbpPushbutton (komandno dugme) mogu se menjati po nazivu i po veličini, ali im se ne može menjati kodna strana, koja uvek ostaje default kodna strana = 238. To znači da ispisi na komandnim dugmadima ne mogu biti ćirilični kada je Windows setovan na Serbian (Latin, Serbian). Biće ćirilični kada Windows bude setovan na Serbian (Cyrilic, Serbian) ali tada neće moći da budu latinični ako to negde zatreba.


2.
Takođe mogu se prikazivati samo slova latinice ili samo slova ćirilice ako se kodna strana ne dira već se radi samo sa promenom fontova tako da se za neke tekstove koristi standardni windows latinični font, a za neke tekstove posebni windows ćirilični font, na primer:
za latinicu:
- Tahoma
- Arial
- Verdana
- Times New Roman
i ostali
a za ćirilicu:
- Arial Cirilica
- CHelv
- Book-Cirilica
- Bedrock Cirilica
- Cir Ardvark
- Cirilica 60
- Cirilica 80
i ostali.


I ovde se Windows sistem setuje u delu Region and Language na Serbian (Latin, Serbian)
Posle toga po defaultu Xbase++ programi rade sa kodnom stranom codepage=238/1250
ako se na startu programa zada SET CHARSET TO ANSI.

Ovo znači da će se sa tastature Serbian (Latin, Serbian) za svaki font dobijati slova ŠĐČĆŽ

Međutim, ako se za neki od navedenih fontova ćirilice formira novi font objekat

oFont := XbpFont():new()
oFont:familyName := 'Arial Cirilica'
oFont:nominalPointSize := 12
oFont:bold := .t.
oFont:italic := .t.
oFont:underScore := .t.
oFont:codePage := 238 // CodePage Serbian latin = 238/1250
oFont:create()

pa se nekom XbasePart objektu dodeli taj font sa
     oXbpBrowse:SetFont(oFont)
ili sa
     EVAL{|| oXbpBrowse:SetFont(oFont) }
taj objekat će na dalje imati tekst sa ćiriličnim slovima 'Arial Cirilica' pod uslovom da se tekst piše sa tastature koja je postavljena na Serbian (Cyrilic, Serbian) u kom slučaju se koriste posebni tasteri za dobijanje ćiriličnih slova, a drugačiji nego u prikazu iz tačke 1, (slika 2)



Upotreba ovih posebnih ćiriličnih fontova ne može se primeniti na TitleBar u aplikacionim prozorima.

U ovom slučaju slova u TitleBaru aplikacionih prozora biće uvek isti default font i iste default veličine i iste default kodne strane 238 i ne mogu se menjati.

Tek kada je Windows setovan na Serbian (Cyrilic, Serbian) slova u TitleBaru biće ćirilična: isti default font, iste default veličine i iste default kodne strane 204.