Bloček - the world only DOS editor with unicode support!
====================================================================================

1) CHARSETS, UNICODE AND LOCALIZATION
Bloček has two work modes. Unicode UTF-8 and non-unicode.
Important thing is that in unicode mode are used unicode fonts which can contain up to 65536 glyphs. In non-unicode are used ASCII fonts in format .FN or .CH or fonts from your VGA card. The default setting for non-unicode mode is VGA 8x16 font. Due this
it depends on language setting of your DOS environment. (If you f.e. try to load russian ASCII text when your DOS is set to polish you will see only some senseless chars on the screen.) So you can use some font from disc which contains symbols from your text or you can use the unicode mode.
Similar problem is with keyboard. DOS has very limited support for switching the keyboard
layouts. Bloček solves this problem by it's own keyboard driver. In the upper right corner you see a language selector. The first option is DOS. With this setting i
s the keyboard input controled by your DOS driver. Other options are keyboard layouts for Bloček's internal keyboard driver. All the layouts are defined in .\KEY_TBL\ directory
in .KBT files. You can easily(?) define another.
KBT files are defined for both - unicode and non-unicode modes. DOS driver hasn't such feature so when you use it in unicode mode, the key codes will be translated by conversion table specified in BLOCEK.CFG file.

In BLOCEK.CFG you can also change many other settings :-)
Besides other thigs is it language interface. The czech, russian and english are available
so far.


2) BLOCK OPERATIONS
From version 1.4 Bloček supports simple text block operations. However be prepared that there are some diferencies in Bloček. The main complication is fact that the selected text is not visibly marked. Only on the upper panel appears info that block is selected for example from 17:30 - 19:35. It means that block starts at 17.row&30.char and ends at 19.row&35.char.
After selecting the block you can press Ctrl+number 1-9 (it was inspired by Command and Conquer game) and the block will be copied into clipboard 1-9. On the upper line in menu will be shown which clipboards are used.
With Alt+number 1-9 you can paste defined clipboard in cursor position.


3) CONFIGURATION:
Bloček loads its configuration from two files: DEFAULT.CFG and BLOCEK.CFG
DEFAULT.CFG is a "factory setting" and shoudln't be changed. BLOCEK.CFG is user setting which has higher priority than the default one. In other words: if a variable will be found in both files, variant from BLOCEK.CFG will be used.
In the distribution archive is spread only DEFAULT.CFG - so getting a new version can't change your favourite setting. If Bloček is installed first time and no BLOCEK.CFG is present, it will be created from DEFAULT.CFG
If in future I add some new variable into DEFAULT.CFG, Bloček will detect it and copy this
setting into BLOCEK.CFG


TIP:
In default configuration are for non-unicode files and for internal purposes used files LATIN216.CH and LATIN214.CH
It is a safe configuration but I recomend you to use the fonts from VGA generator.
So consider to edit BLOCEK.CFG to:
"listovy_font = <vga14>" and "non_unicode_font=<vga16>"
------------------------------------------------------------------------------------


4) TECHNICAL 
Bloček uses CWSDPMI extender by default. It is NOT recomended to use HDPMI32 because it
doesn't support swapping. Note, that more opened windows at the same time can be very memory hungry and your memory can be quickly depleted. HDPMI32 can't provide any
 virtual memory and program will crash.

For questions, bug reports and ideas use my e-mail address: Laaca@seznam.cz
or use the guestbook on my page: http://www.laaca.borec.cz

5) KEYBOARD SHORTCUTS
F10   - enter main menu
F1    - make a new file
F2    - save file
F3    - load file
AltF3 - close file
AltF1 - load this file (INFO.TXT)
CTRL+F - search
CTRL+S - search again
CTRL+H - replace
LShift+Alt - change keyboard layout
Ctrl+Alt+Up - delete line
Ctrl+Alt+Down - delete word
Ctrl+Alt+Left - delete beginning of the line up to cursor
Ctrl+Alt+Right - delete rest of line: from cursor to line end
Ctrl+PageUp - jumps on first line of the file
Ctrl+PageDown - jumps on last line of the file
Ctrl+[1-9] - copy selected block of text into clipboard No 1-9
Alt+[1-9] - paste text from clipboard No 1-9 into cursor position

ESC   - quit
AltF2 - make a screenshot


6) MOUSE FUNCTIONS:
a) In text window
Left button  - moves cursor on selected place in text
Right button - shows short info about glyph you clicked to

Ctrl+left button - start of text block selection
Ctrl+right button - end of text block selection

b) In list of opened panels
Left button - switches to another file panel
Right button - shows filename and path
Both buttons - closes file


7) GREETINS
I would like to thank to:
Mircosoft (not Microsoft :-))
  - started the project of GUI Wokna32 (in realmode Turbo pascal)
Venom
  - began work on graphics library VenomGFX
Matheusz "Fox" Viste
  - provided the unicode fonts
UFO
  - corrections of the russian texts
Dee
  - for his utilities for FN fonts
Michael Knapp
  - for GraphX where I grabbed PNG loader
BearWindows
  - for code for reading WMF images
development team of FastDIB graphics library.
  - I "borrowed" their smooth image scaling routines

...and to others for reporting bugs


8) VERSION HISTORY:

1.4
    * detect DOS code page for using with unicode
      (so "keyboard_mapping" variable in BLOCEK.CFG is now deprecated)
    * some VESA BIOSes or drivers are buggy so VESA3 functions can be disabled now
    + block operations - you have not only one clipboard but NINE clipboards!
    + System information window

1.37
    - Fixed conflict between DOS national keyboard driver and Bloček's internal
      keyboard driver. ("dead keys" watched by DOS was "stealed" and not processed
      by internal driver)
    - Fixed wrong displaying of text cursor in some situations. (this bug became more
      severe in previous version)
    + Now allows to define keys which are "semi-capslock dependent"
      (like ěĚ/2 in czech keyboard driver)
    * keyboard definition files are now much more user friendly so it is easier to
      define new ones
    + hungarian keyboard layout

1.36b
    - Fixed some annoying problems with charmap
    * More carefully avoids bugs of Freepascal 2.x.x - it is more stable now

1.35b
    * Now can work in banked modes too!
    - Prior versions could with some screen drivers wrong download fonts from VRAM.

1.34b
    - fixed some minor problems with line breaking in GUI
    - fixed wrong positions of points in radio button dialogs

1.34
    + Now can load vector image format .WMF
    - fixed occasional bug when shelling into DOS
    * compiled with current version of graphics library VenomGFX

1.33b
    + ASCII conversions
    + brasil keyboard layout
    + configurable menus
    + warns if no virtual memory is present
    * radicaly reworked all managment of messages and texts
    * other invisible changes
    * for final compilation is used Freepascal 2.2.0a
    - crash when checking word wrapping with new file
    - filesector allows to manualy select a file by writting its name
    - tabs work correctly now
    - thousands separator

1.32c
    + charmap
    + configuration managment with default and user configuration files
    - few bugs fixed
    * files are opened gradualy and loading can be canceled
    * quite a lot of code rewritten
    * better speed
    * for final compilation is used another compiler - Freepascal 2.1.4
    + more unicode fonts (there is also a editor with TTF import available on my WWW)

1.31
    * reworked code for switching of opened files
    * better tabulators handling
    - more compatible searching files
    + russian keyboard driver knows letters "yo" and "YO"
    * all text windows now share one outtput buffer - saves a lot of memory
    - crash in Search again after Search without any occurence of searched string
    * more carefuly checks if graphics card supports LFB

1.3c
    - functions Search, Search again, Replace and Fix word wrapping
    + better algoritms for scalling images (see Select filter in Options menu)
    + horizontal and vertical flip for images
    * scrolbars work more or less like in windows
    + changing to/from word wrapping mode keeps cursor position
    + checks if image files are corrupted
    - fixed some bugs in image viewing mode
    + added german keyboard driver
    - fixed czech keyboard driver
    * many invisible but important changes in GUI library
    + better error handler
    + expands tabs

1.2d
    + PNG reader
    + Ctrl+Alt+arrow functions
    - hopefuly fixed one text scrolling bug with word wrapping
    + Bloček can be now used as image viewer (BMP, PCX, GIF, PNG, JPG)
    - reports error when you try to write to read only drive
    - now can't become 15bpp x 16bpp graphics mode confusion

1.1.2
    + another unicode font
    * unicode fonts are much smaller now
    * unicode fonts are now proportional
    + keyboard layout switching
    + GIF reader
    - some small bugs fixed (some left)
    + glyph info on right mouse button

1.1
    + word wrapping
    + conversion routines to/from unicode coding
    - some small bugs corrected
    + automatic detection of unicode text
    * some internal changes what will be visible later :-)
    ! most probably some new bugs around word wrapping

1.0.x
    gradual evolution

Last versions you can download here:
binary: http://www.laaca.borec.cz/soubory/blocek.rar
source: http://www.laaca.borec.cz/soubory/wokna32.rar

There is also a mirror available at:
http://www.laaca-mirror.ic.cz/blocek.rar
http://www.laaca-mirror.ic.cz/wokna32.rar

Laaca
--------------------------------------------------------------------------------------

Here is the first article of the Universal Declaration of Human Rights in some of the
languages supported by Bloček:

Akuapem Twi:
Wɔɑwo ɑdesɑmmɑ nyinɑɑ sɛ nnipɑ ɑ wɔwɔ ɑhofɑdi. Wɔn nyinɑɑ wɔ nidi ne kyɛfɑ koro. Wɔwɔ
ɑdwene ne ɑhonim, nɑ ɛsɛ sɛ wobu wɔn ho wɔn ho sɛ ɑnuɑnom.

Armenian / Հայերեն:
Բոլոր մարդիկ ծնվում են ազատ ու հավասար իրենց արժանապատվությամբ ու իրավունքներով։ Նրանք
ունեն բանականություն ու խիղճ – միմյանց պետք է եղբայրաբար վերաբերվեն։

Czech / Česky:
Všichni lidé se rodí rovnými a svobodnými co to důstojnosti a práv. Jsou nadáni rozumem
a svědomím a mají spolu jednat v duchu bratrství.

English:
All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.

Estonian / Eesti:
Kõik inimesed sünnivad vabadena ja võrdsetena oma väärikuselt ja õigustelt. Neile on antud mõistus ja südametunnistus ja nende suhtumist üksteisesse peab kandma vendluse vaim.

French / Français:
Tous les êtres humains naissent libres et égaux en dignité et en droits. Ils sont doués
de raison et de conscience et doivent agir les uns envers les autres dans un esprit de fraternité.

Georgian / ქართული:
ყველა ადამიანი იბადება თავისუფალი და თანასწორი დავისი ღირსებითა და უფლებებით. მათ მინიჭებული
აქვთ გონება და სინდისი და ერთმანეთის მიმართ უნდა იქცეოდნენ ძმობის სულისკვეთებით.

Greek / Ελληνικά:
Όλοι οι άνθρωποι γεννιούνται ελεύθερποι και ίσοι στην αξιοπρέπεια και τα δικαιώματα. Είναι
προικισμένοι με λογική και συνείδηση, και οφείλουν να συμπεριφέρονται μεταξύ τους με
πνεύμα αδελφοσύνης.

Irish Gaelic / Teanga Gaelige:
Saoláitear na daoine uile saor agus coṁionann ina ndínit agus ina gcearta. Tá bauiḋ an
réasúin agus an ċoinsiasa acu agus dlíd iad féin d'iompar de ṁeon ḃrṫreaċais i leiṫ a
ċéile.

Latvian / Latviešu:
Visi cilvēki piedzimst brīvi um vienlīdzīgi savā pašcieņā un tiesībās. Viņi ir apveltīti ar
saprātu un sirdsapziņu, un viņiem jāizturas citam pret citu brālības garā.

Lithuanian / Lietuvių:
Visi žmonės gimsta laisvi ir lygūs savo orumu ir teisėmis. Jiems suteiktas protas ir sąžinė ir jie turi elgtis vienas kito atžvilgiu kaip broliai.

Maltese / Malti:
Il-bnedmin kollha jitwieldu ħielsa u ugwali fid-dignjità u d-drittjiet. Huma mogħnija bir-raġuni u bil-kuxjenza u għandhom iġibu ruħhom ma’ xulxin bi spirtu ta’ aħwa.

Polish / Polski:
Wszyscy ludzie rodzą się wolni i równi pod względem swej godności i swych praw. Są oni
obdarzeni rozumem i sumieniem i powinni postępować wobec innych w duchu braterstwa.

Portuguese / Português:
Todos os seres humanos nascem livres e iguais em dignidade e em direitos. Dotados de razão e de consciência, devem agir uns para com os outros em espírito de fraternidade.

Romanian / Română:
Toate ființele umane se nasc libere și egale în demnitate și în drepturi.
Ele sunt înzestrate cu rațiune și conștiință și trebuie să se comporte unele față de altele în
spiritul fraternității.

Russian / Русский:
Все люди рождаются свободными и равными в своем достоинстве и правах. Они наделены
разумом и совестью и должны поступать в отношении друг друга в духе братства.

Turkish / Türkçe:
Bütün insanlar hür, haysiyet ve haklar bakımından eşit doğarlar. Akıl ve vicdana sahiptirler ve birbirlerine karşı kardeşlik zihniyeti ile hareket etmelidirler.

Vietnamese / Tiếng Việt:
Tất cả mọi người sinh ra đều được tự do và bình đẳng về nhân phẩm và quyền. Mọi con
người đều được tạo hoá ban cho lý trí và lương tâm và cần phải đối xử với nhau trong
tình bằng hữu.


Bloček is also able to display other kinds of glyphs such as mathematical, dingbats, box drawings, musical and much more!
Have a fun with it :-)
