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 to this
it depends on your DOS environment language setting. (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 the keyboard. DOS has very limited support for switching the keyboard layouts. Bloček solves this problem by its own keyboard driver. In the upper right corner
you see a language selector. The first option is DOS. With this setting is the keyboard input controlled 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 things it is user interface language. The czech, russian and english are available
so far.


2) BLOCK OPERATIONS
Since version 1.4 Bloček supports simple text block operations. However be prepared that there are some differencies in Bloček.
Block can you select using CTRL key and left or right mouse button. Gradual selection by
dragging mouse with pressed left button is not implemented.
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.
Since version 1.51 is alternate mouse driven method for clipboard operations available. Just click with mouse on the clipboard indicators and follow the menu.


3) CONFIGURATION:
Bloček loads its configuration from two files: DEFAULT.CFG and BLOCEK.CFG
DEFAULT.CFG is a "factory setting" and shouldn'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 recommend 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
Ctrl+A - select all text
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+RightArrow - moves one word to right
Ctrl+LeftArrow - moves one word to left
Ctrl+Del - delete selected block
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) GREETINGS
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
Mateusz Viste
  - provided the unicode fonts
Tae Wong
  - corrections of the english texts
Christof Lange
  - made a tool for creating .TBL unicode filters
KormaX
  - for hungarian translation
Thraex
  - for french and turkish translations
UFO
  - corrections of the russian texts
Stepan Hrbek (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 used their smooth image scaling routines

...and to others for reporting bugs


8) VERSION HISTORY:

1.62r2 (repack from August/2021)	
    + slovak keyboard layout
	+ translations for german, french and turkish languages
	+ more filters for conversions between Unicode and 8-bit codepages
	+ included utility for creating new Unicode conversion filters (see .\KEY_TBL\TBL_CREA\)
	+ added file TRANSLAT.TXT which contains instructions how to create a translations to other languages
	* the binary in untouched
	
1.62
    - fixed a lot of typos in texts
    - fixed block operations on the single line blocks
    - solved "undeletable" first char of line which occurred in some situations
    + block conversions to make case up or low

1.61
    + Conversion of the extended ASCII or Unicode chars into HTML entities
    - fixed possible crash when opening large text file
    - fixed crash after pressing up arrow after menu activation by mouse
    * progress indicator now uses timer
     
1.6
    - fixed graphical glitch causing garbage in some circumstances when opening a new window
    - mouse sometimes caused noticeable slowdown of program
    - reenabled  the char typing using ALT + <codes on numeric keyboard>
    - fixed crash when "word wrapping" on empty file was selected
    - optimized the method for getting the hardware glyphs from graphic card
    + implemented function keys CTRL+right arrow and CTRL+left arrow
    + implemented function CTRL+A (select all)
    + CTRL+Del deletes selected block
    + selected blocks are now visible just in the text - not only in status line     
    + program language can be switched directly from menu system (no manual editing of conf. files is needed)     
    * not only the final compilation but also regular development is done with Freepascal 3.0.2

1.5c  
    + now can display the Exif info in JPEG files and export the Exif data
    + can resize big images to fit the screen optimally
    + can now properly display the semi-standard VGA fonts with used 7.bit in char definitions 
    - fixed few bugs which potentialy could lead to crash
    - fixed some graph. glitches when changing the image viewer and text editor modes
    - fixed "locking" of ALT and CTRL keys in some situations
    - fixed typos in english messages

1.4b 
    - fixed potential bug with keyboard handler and corrected system info window

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 with some screen drivers could download wrong 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
    * radically reworked all management 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 manually select a file by writing its name
    - tabs work correctly now
    - thousands separator

1.32c
    + charmap
    + configuration management with default and user configuration files
    - few bugs fixed
    * files are opened gradually 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 output buffer - saves a lot of memory
    - crash in Search again after Search without any occurrence of searched string
    * more careful checks if graphics card supports LFB

1.3c
    - functions Search, Search again, Replace and Fix word wrapping
    + better algorithms for scaling 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.sweb.cz/blocek.rar
http://www.laaca.sweb.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 :-)
