This documentation has been translated from Czech.

Roman Vincze: English is not my native language, texts may contain mistakes.
Did you find a mistake? Please correct it and send the new document to Roman Vincze (e-mail: vincze@ji.cz)


Documentation of VinczeSwiss program
        (user manual in questions and answers)

List of questions:
What is VinczeSwiss?
What language versions does the program offer?
Why is the program version number so long?
What are the limits on the number of players and the number of rounds?
There are only few buttons on the main program screen. Does this program really have so few features?
Why is not there save button in the program?
Even though saving is automatic, is there any way to backup the tournament?
I don't want to put players into the program one by one. Can I import the entire list of players at once?
The "Search" button does not work, when I adding a player. The program wants some file from the internet. Why doesn't the program download this file itself? What must I do?
When founding up the tournament, I made a mistake about the number of rounds and the auxiliary evaluations. Can I change it now?
I would like to allocate points other than 1- 0.5 -0. Is it possible?
I would like to cancel the whole pairing of the 6th round. Is it possible?
In 6th round, it was find out that one result from 4th round is wrong. How to change this result?
I would like (a little unfairly) to put two players against each other in 7th round. Is it possible?
I would like to rewrite a tournament already finished (controlled by another program) to the VinczeSwiss program. How I have to proceed?
Is it possible to see somewhere, what the program does when pairing?
Is it possible to turn off the annoying query when closing a program?
Can I view reports in something other than Internet Explorer?
Reports have some bad representation of national characters. How to fix it?
Can I put these reports on my website?
Is this program just for chess? We organize amateur tournaments (badminton, ...). Is it possible to record scores (goals/sets/hits) (for example 3-2)?
It is great, that program records goals in a football tournament, counts auxiliary evaluations such as the higher number of goals scored, goal difference, ratio of goals (fraction). But why ratio of goals (fraction) is 1000?
Is the pairing algorithm (implemented in VinczeSwiss program) according to FIDE regulations?
Will VinczeSwiss ever get FIDE certification?
And after such boring documentation, wouldn't there be a joke?




(up)
What is VinczeSwiss?

VinczeSwiss is a computer program. Its purpose is operate chess (but not only chess!) tournaments by Swiss system. It is provided free of charge and is designed for Microsoft Windows operating systems (95/98/ME/NT4.0/2000/XP/Vista/7/8/10/11).

Note: Do you use Linux? You can use Wine for starting this program.

The author of the program is Roman Vincze (e-mail: vincze@ji.cz). The program has been developed in Delphi 5 Professional. The development environment is quite old (1999) - that's because I'm not buying licenses for newer and newer Delphi.

Disclaimer:
VinczeSwiss program is distributed "as is". No warranty of any kind is expressed or implied. The author is not liable for any data loss or any other kind of loss while using or misusing this program.



(up)
What language versions does the program offer?

Now you can switch between two languages: Czech and English. However, the program is designed for easy adding of other languages. Language files are located in the Language subdirectory (czech.txt and english.txt files). For example, if some Swede make translation of content file english.txt into Swedish, then the program VinczeSwiss will communicate with users also in Swedish.

If this Swede sends me the above Swedish translation (like swedish.txt), that translation will be part of the next build of VinczeSwiss program. Translation rules: It should be translated by native speaker of the language. He/She should be a chess player with knowledge of chess terminology and (before sending a new language version to me) should to test of translation in VinczeSwiss program (if some text on the screen is not too long).

In the VinczeSwiss code of program, there is (already) treated if the language file does not contain all the texts. If some texts are missing (for example, because the language file is for an older version of VinczeSwiss and some texts have not been there yet), then it appears in built-in English. Texts in the VinczeSwiss program are numbered by ascending and continuous number series, so volunteers-translators can (with a new version of VinczeSwiss) just to add (from english.txt) texts with higher numbers than the last number in the appropriate language version (eg swedish.txt).

By the way, I just said that there are two English in the VinczeSwiss program. One English is built-in and second English is in file english.txt (ideally, these two English will always be the same). Even in the case, that a less experienced user would delete the entire contents of the Language subdirectory, they will have built-in English at least.

Disclaimer:
My development environment Delphi 5 Professional (due to its age) does not support unicode, so language switching in VinczeSwiss it will only work for languages that have single-byte character encoding. So all European languages can be supported (just translate english.txt into the appropriate language). Conversely, Asian (picture) fonts with double-byte unicode character encoding will not be supported (change since version 1.09).

! Update: !
Since 29/2/2020, German is available in VinczeSwiss (1.05).
Since 29/2/2020, Italian is available in VinczeSwiss (1.05).
Since 9/9/2020, Russian is available in VinczeSwiss (1.05).
Since 29/10/2020, Slovak is available in VinczeSwiss (1.06).
Since 30/11/2020, Spanish is available in VinczeSwiss (1.06).
Since 8/8/2023, Vietnamese is available in VinczeSwiss (1.11).
Since 10/9/2023, Hungarian is available in VinczeSwiss (1.12).



(up)
Why is the program version number so long?

The version number of the program (for example 1.00) is followed by the build number (for example 1.00.000). This is due to the (expected) expanding of language versions. For add a new language, there is no need to recompile the program (the program version will remain), only the ZIP file for download will be extend by another txt-file of new language.



(up)
What are the limits on the number of players and the number of rounds?

The number of rounds is not limited. The number of players in tournament is limited to 2000. I can increase this value at any time (by recompiling the program), to any higher value (but then the program would have a slightly higher memory requirement and would be a bit slower).



(up)
There are only few buttons on the main program screen. Does this program really have so few features?

Graphical user interface (GUI) was designed as simple as possible. That the core function of the program can use also by less experienced user (even without reading this documentation). But if (in a tournament) any facts arise, which cannot be solved by clicking in the GUI (for example canceling the pairing of the whole round), this documentation will describe (see below), how resolve these situations (without GUI).



(up)
Why is not there save button in the program?

Because it is not needed. The program makes saves automatically. What the user enters in the program, is not only written to the operating memory, but is (immediately at the same time) written to text files (on the computer hard disk). The text files are in the directory, which was created with the creation of a new tournament (the path to this directory is displayed in the main window of the VinczeSwiss program).

Text files have a structure designed to be readable not only by the program, but also by human. The files options.txt, players.txt and roundN.txt are very important and must not be deleted by user (otherwise the tournament will be damaged). Other files (created in the tournament directory) can be deleted by the user without risk: they have an extension and a prefix htm - this is reports such as starting list, pairing of the round, results of round and the standings.



(up)
Even though saving is automatic, is there any way to backup the tournament?

Yes, of course. Tournament directory (the tournament directory path is displayed in the VinczeSwiss main window) you can copy anytime and to everywhere.

Partial backup is also implemented in the program. In the VinSwiss.ini file (file is next to the exe program VinSwiss.exe), you can change IsBackupRoundFiles=False to IsBackupRoundFiles=True. Then roundN.txt files will be created (in the tournament directory) in duplicate.



(up)
I don't want to put players into the program one by one. Can I import the entire list of players at once?

VinczeSwiss stores of players in a players.txt file. By editing this file (manually, or you can use your own program/utility to do) you can import/copy your own player list.

The structure of the players.txt file is well documented by the first line (comment) in this file. Each additional line corresponds to one player. The entries for each row are: Note: In the file players.txt, you can change the ArrivalID (player alias/nickname) only before the first round (ie until the creation of file round1.txt).

! Update: !
ArrivalID created by VinczeSwiss have the prefix Arr by default. Since version 1.07, however, VinczeSwiss allows you to change this prefix. In the VinSwiss.ini file, change SystemPrefixForAlias=Arr to something else (without diacritics!). But I definitely don't recommend choosing an empty string. While that works too, it makes the roundN.txt files harder to read - because it's not obvious what is a name and what is an alias.

Since version 1.08, it is possible to influence how VinczeSwiss creates ArrivalID aliases. If ArrUseNumbersOnly=False, then program creates aliases as an abbreviation of the name. For example, if the player name is Vincze Roman, then the alias is ArrVincze. However, this may not be appropriate for non-latin alphabets. Therefore, it is possible to set ArrUseNumbersOnly=True, and then the program creates aliases as numbers: Arr1, Arr2, Arr3. ...

! Update: !
Since version 1.07, two more columns have been added to the players.txt file: ! Update: !
Filling of the TeamID field when entering a player allows a team competition to be held simultaneously in the individual tournament. Since version 1.13 there is a special report for such a simultaneous team competition. You turn on the creation of the report (in the VinSwiss.ini configuration file) by choosing TeamReport_IsUsed=True. You can influence the name of the created file with the variable TeamReport_ShortFileName (for example TeamReport_ShortFileName=TeamReportFile.htm). By default TeamReport_TopNplayers=3, the results of the three best players of each team are calculated (for a team competition). You can have the report either with team names only (if TeamReport_WithPlayersList=False is set) or with the names of counted/uncounted players (if TeamReport_WithPlayersList=True is set). The report is created in the tournament directory simultaneously with the creation of the report "Report - Standings with players cards" for the individual tournament.



(up)
The "Search" button does not work, when I adding a player. The program wants some file from the internet. Why doesn't the program download this file itself? What must I do?

Of course, the program would can download the file itself from the internet. But I decided give to more control over the entire download of the FIDE rating list for the experienced user (actually: I give to more control in more matters, as will be shown in further questions and answers).

So if you really don't want to settle for the entered player's name and his ELO in the program VinczeSwiss and you require a FIDE rating list, just download the file from the internet https://ratings.fide.com/download/players_list_xml.zip. Unzip this ZIP file - it will be created a (giant) XML file. Then copy the XML file to the Elo subdirectory.

The first time you use the Search button, the program converts the (giant) XML file to (for VinczeSwiss) much more convenient (more economical). A elo.txt file is created in the Elo directory. Then the original XML file will no longer be needed and you can delete it.

Attention: The operation of converting an XML file to elo.txt is memory-intensive. The XML file has more than 400 MB (a million players are a million players). So if your computer has less than 512 MB of RAM, set (at least) a large swap file in Windows.

If you think, that the newly created elo.txt file still too large, you can reduce it (using various text utilities). For example, by leaving only players in your national chess organization.

Or you can create your own elo.txt file: each line contains one player and the format of this line is (FIDE ID|player name without diacritics|country|gender|elo|elo-rapid|elo-blitz|year of birth|). So for example:
324906|Vincze Roman|CZE|M|2129|2113|2108|1974|
Because the FIDE rating list (XML file) is without diacritics (national characters), the elo.txt file is without diacritics. However, when using the Search button, the absence of diacritics (in the file elo.txt) is considered - VinczeSwiss will to trim of diacritics. If you are going to create your own elo.txt, you might want to include diacritics in this file. If you set EloSearchRemoveDiacritics=True to EloSearchRemoveDiacritics=False in the VinSwiss.ini file, then diacritics will not be cut of by VinczeSwiss program.

Note: The Search button returns only the first 100 search results. If you want to change this value, then change EloSearchMaxCountLines=100 to something else in the VinSwiss.ini file.

! Update: !
Since version 1.07, the window Searching for a player can be customized. There is a new section [FormStrG] in the VinSwiss.ini file for this. It is possible to change the width of the window (Width variable) or the widths of the individual columns (from ColWidthType to ColWidthClub).

! Update: !
Since version 1.07 the format of the elo.txt file has been extended by three (trailing) columns (FIDE ID|player name without diacritics|country|gender|elo|elo-rapid|elo-blitz|year of birth|title|National ID|club|). So for example:
324906|Vincze Roman|CZE|M|2129|2113|2108|1974|KM|1204|TJ Jiskra Havlickuv Brod
The new title field is automatically converted from the XML file (see above). The new fields National ID and club are not present in the XML (FIDE rating list), their filling would have to be ensured by the administrator of the national elo.

Note: I contacted the Czech LOK elo administrator, but he refused to create the national LOK elo list in a format suitable for VinczeSwiss. However, the VinczeSwiss program handles the National ID and club fields now, so when the national elo administrators ... (I really can't provide a national elo import for all countries in the world - each national elo list is published in a different format).

! Update: !
Version 1.08 introduced the ability to have more files (in the Elo subdirectory). Not only elo.txt with FIDE elo, but also cze.txt with Czech LOK or ger.txt with German DWZ ... . In order for VinczeSwiss to search other files, you need to set IsLoadMoreEloFiles=True (in VinSwiss.ini file). And of course you must have such files. Ideally, such files should be provided by the administrators of the national ratings (see note above).

! Update: !
Version 1.12: import FRL (FIDE rating list) has been reprogrammed. The new function for conversion XML file to TXT file has drastically less memory requirements (but function is slower), so the conversion should no longer stop due to the "Out of memory" error (on computers with insufficient RAM).



(up)
When founding up the tournament, I made a mistake about the number of rounds and the auxiliary evaluations. Can I change it now?

Quit VinczeSwiss program. In the tournament file options.txt, change the value MaxRound and the values TB1 ... TB5 (the allowable values for the TB auxiliary evaluations are listed in the first comment line of the file options.txt). Then run VinczeSwiss again and reopen the tournament.

! Update: !
Up until VinczeSwiss 1.07, the New tournament window was always preset to the following auxiliary evaluations: BH, SB, PS, cWin, cBlack (see below for an explanation of the abbreviations).
Since VinczeSwiss 1.07 it is possible to define your own default auxiliary evaluations in the VinSwiss.ini file, in the DefaultTBforChess and DefaultTBforGoals sections.

Allowed auxiliary evaluations (chess):
BH ... Buchholz
midBH ... middle Buchholz
BHcut1 ... Buchholz without lowest
DiEnc ... direct encounter(s)
SB ... Sonneborn–Berger
PS ... Progress
cWin ... count of wins
cWinBl ... count of wins with black pieces
cBlack ... count of black

Allowed auxiliary evaluations (non-chess):
G1 ... more goals scored
-G2 ... fewer received goals
G1-G2 ... difference: scored goals - received goals
G1/G2 ... quotient: scored goals / received goals
DiEnc ... direct encounter(s) (since version 1.13)



(up)
I would like to allocate points other than 1- 0.5 -0. Is it possible?

When creating a tournament, select 3-1-0 in the field Points awarded. Values other than 1- 0.5 -0 and 3-1-0 are not supported. But for example 2-1-0 is only a double equivalent of 1- 0.5 -0. If you really want 2-1-0, then take the final table and multiply all points by two.

Note: You must select the type of points awarded (1- 0.5 -0 or 3-1-0) at the beginning of the tournament. If you change the PointsType value in the options.txt file during the tournament, chaos occurs (because the results of already paired and played rounds are (in the original score) already written in the files roundN.txt).

! Update: !
If there is an odd number of players in the tournament, it is customary for the free player to receive a point as a win (more precisely: 1 point when scoring 1-0.5-0 or 3 points when scoring 3-1-0). But since version 1.13, the VinczeSwiss program allows configure points for "bye". You can set the ByePoints variable (in the configuration file VinSwiss.ini). If ByePoints=asWin, then points for "bye" are awarded. If ByePoints=asLost, then points for "bye" are not awarded. Only asWin or asLost settings are possible.



(up)
I would like to cancel the whole pairing of the 6th round. Is it possible?

Yes, it is very easy. Quit VinczeSwiss program. Delete the tournament file round6.txt. Then run VinczeSwiss again and reopen the tournament. The program will think that the 6th round has not been paired yet (and you can, for example, use stop/pause for some player).

Attention: If you accidentally delete round5.txt instead of unwanted round6.txt, you have a huge problem.



(up)
In 6th round, it was find out that one result from 4th round is wrong. How to change this result?

Quit VinczeSwiss program. In the tournament file round4.txt, correct the incorrect result from 4th round. Then run VinczeSwiss again and reopen the tournament. The result of the 4th round will be changed and the relevant players points will be recalculated (only the pairing of 5th round should be completely different).



(up)
I would like (a little unfairly) to put two players against each other in 7th round. Is it possible?

Should I describe such a dirty trick? All right.

Give the two players a suspend. Then (as normally) pair the 7th round - the file round7.txt will be created. Quit VinczeSwiss program. At the end of the round7.txt tournament file, delete the two lines for non-pairing of both players. Instead, enter (create) the last line to match the game between the two players concerned. Only the result and aliases of both players are mandatory for the line/game (in the roundN.txt files):
|?-?|||AliasPlayer1-AliasPlayer2
Other fields are optional and VinczeSwiss creates them in roundN.txt files only for easier human readability of these files.

After editing the round7.txt file, run VinczeSwiss program again and reopen the tournament.

Attention: before the pairing of the 8th round, be sure to cancel both players suspend, otherwise they will not be paired in the 8th round.



(up)
I would like to rewrite a tournament already finished (controlled by another program) to the VinczeSwiss program. How I have to proceed?

Run the VinczeSwiss program and start a new (empty) tournament. Add (one by one) all players and pair the 1st round. Then quit VinczeSwiss program.

In the round1.txt file, manually overwrite the original pairs (paired by VinczeSwiss program) with the new pairs (which were once actually paired by another program). As mentioned earlier, you can write rows/games like this:
|?-?|||AliasPlayer1-AliasPlayer2
After all the pairs are built, save the round1.txt file. Run the VinczeSwiss program, open the tournament and enter 1st round results. Then pair the 2nd round. Quit VinczeSwiss program.

In the round2.txt file, manually overwrite the original pairs ... ... and so on until the last round.

During the overwriting the pairs in the roundN.txt files manually, I wish have plenty of fun.

! Update: !
Since version 1.02, VinczeSwiss supports importing and exporting TRF files. The TRF file format is described in the FIDE documentation.

If the pairing program, from which you want convert some tournament into VinczeSwiss, can export tournament as TRF file, then create TRF file and import it into VinczeSwiss as easily (and by the same button) as you open the tournament.

Conversely, you can transfer your tournament from VinczeSwiss to another pairing program. If setting (in VinSwiss.ini) is MakeOutputTRF16= True, then VinczeSwiss creates a TRF file in parallel to creating Report - Standings with players cards. The TRF file created in this way can be found in the tournament directory.

! Update: !
Since version 1.07, VinczeSwiss can export a second TRF file with NationalID instead of FideID. Just set MakeOutputTRF16National=True. The name of the exported file is then determined by the variable ShortFileNameTRF16National, for example ShortFileNameTRF16National=NationalTournamentReportFile.trf. The exported TRF files could be used to submit the tournament for elo, provided that FIDE (TRF file with FideID) or the national elo administrators (TRF file with NationalID) accept it - may be in the future.



(up)
Is it possible to see somewhere, what the program does when pairing?

In the VinSwiss.ini file, change IsWriteAllowedToLogFile=False to IsWriteAllowedToLogFile=True.

Then the tournlog.log file will be created in tournament directory (while VinczeSwiss is running). The log file is (only) in English (even if a non-English language version is enabled). The tournlog.log can be deleted at any time.

Attention: the log is very detailed and can grow to tens of megabytes in tournaments with many players and many rounds.



(up)
Is it possible to turn off the annoying query when closing a program?

In the VinSwiss.ini file, change CloseQuery=True to CloseQuery=False.



(up)
Can I view reports in something other than Internet Explorer?

Any web browser can be used to view reports. For opening of the reports in other browser, you must change the variable ExePath in the file VinSwiss.ini.

For example, instead of ExePath=C:\Program Files\Internet Explorer\iexplore.exe use ExePath=C:\Program Files (x86)\Mozilla Firefox\firefox.exe.

You must change the ExePath variable to the actual location of your web browser on the computer hard drive. It can be different on every computer.

! Update: !
Since version 1.05 program VinczeSwiss allow select the sorting type in the starting list. If in VinSwiss.ini is set StartListSortingType=1, then sorting in starting list is in alphabetical order. If StartListSortingType=2 is set, sort in starting list is by elo.



(up)
Reports have some bad representation of national characters. How to fix it?

In the file VinSwiss.ini, change the variable HtmlCharset. The author of the VinczeSwiss program is from the Czech Republic, so HtmlCharset=windows-1250 is preset.

There are many charset settings. For Western Europe, HtmlCharset=windows-1252, for Russian Cyrillic HtmlCharset=windows-1251. For English, just HtmlCharset=us-ascii. You can ask search engine for the right charset for your language.

! Update: !
In version VinczeSwiss 1.06, file VinSwiss.ini was modificated. Except key HtmlCharset, there are whole section of keys [LanguageFileAndHtmlCharset]. For each language file (from subfolder Language) is (in this section) defined corresponding html charset.

! Update: !
Since VinczeSwiss 1.09, there is a new section InternalFontCharset in the VinSwiss.ini file. If you set IsInternalFontCharset=True, the default code page (i.e. the code page set in the Windows control panels) will be replaced by another code page.

For example, if you set IsInternalFontCharset=True and russian.txt=204 (in the section InternalFontCharset), then the Russian Cyrillic will be displayed (into VinczeSwiss program) even on a non-Russian Windows, where is not set Cyrillic as the default (non-Unicode) font in Windows control panels.

The list of possible numbers (for setting the InternalFontCharset section) can be found directly in the VinSwiss.ini file. This setting should allow volunteers to localize VinczeSwiss to languages with picture fonts (Chinese, Japanese, Korean).

! Update: !
Since VinczeSwiss 1.10, there are new 4 keys (EnhancedCharsAreUsed, EnhancedCharForDraw, EnhancedCharForWhiteColor, EnhancedCharForBlackColor) in the VinSwiss.ini file. For EnhancedCharsAreUsed=True, there are enhanced chars for draw (0.5 → ½), white (W → □) and black (B → ■).



(up)
Can I put these reports on my website?

Yes. Reports (htm files) created in the tournament directory can be freely transferred. For example to your website.



(up)
Is this program just for chess? We organize amateur tournaments (badminton, ...). Is it possible to record scores (goals/sets/hits) (for example 3-2)?

VinczeSwiss can also be used for non-chess tournaments. When creating a new tournament, select "[Goals] Goals/Score" instead of "[Chess] Chess" in the box Auxiliary Evaluations.

Subsequently, the auxiliary evaluations (TB1 ... TB5) will change. And in the window for entering results will be possible specify not only (standard) win-draw-loss, but also two new fields for score.

Tip: You can mix chess (BH, SB, ...) and non-chess (G1, ...) auxiliary evaluations. Just overwrite the corresponding TB1 ... TB5 in the options.txt file.

! Update:!
Since version 1.04 VinczeSwiss allow to disable the chess condition: player can not play by the same color more then two times in a row. So, if in the tournament does not matter the assignment of white/black (ie home/visiting), then you can set (in INI file VinSwiss.ini) GoalsSkip2ColourCondition=True.

Attention: If you set JaVaFoIsUsed=True (= pairing strictly according to FIDE rules), then setting GoalsSkip2ColourCondition=True will be ignored.



(up)
It is great, that program records goals in a football tournament, counts auxiliary evaluations such as the higher number of goals scored, goal difference, ratio of goals (fraction). But why ratio of goals (fraction) is 1000?

It is only where it is divided by zero. Mathematics prohibits division by zero (mathematician: let me divide by zero, and I can show you, that witches are flying out of the chimney - or I can show you that 1 = 2).

If any player is so good that his score of played (for example in tennis) sets is 12-0, then ratio (won and lost) sets is 12/0 (infinity?). Therefore, in the VinczeSwiss program is value 1000. You can change this preset value. In the file VinSwiss.ini, you can rewrite GoalsInfinityAtDivisionByZero=1000 to something else.

You can also change the GoalsDivisionNumberOfDecimalPlaces. When GoalsDivisionNumberOfDecimalPlaces=3, VinczeSwiss program calculates the ratio of goals/sets to three decimal places.



(up)
Is the pairing algorithm (implemented in VinczeSwiss program) according to FIDE regulations?

Directly said - NO.

FIDE prescribes various variants of Swiss sytem: Swiss-Dutch (Dutch variation), Swiss-Dubov, even Swiss-Monrad is recognized.

My algorithm can be described as a very simplified Swiss-Dutch. In last century, computers were not as widespread as they are today. It was necessary (for tournaments with the Swiss system) use paper cards for pairing. Therefore, the rules for the Swiss system had to be easier (otherwise it would be unmanageable with paper cards).

With the massive using of computers, FIDE can complicated the rules for Swiss system ... four types of shift of players A/B/C/D, complex exchange rules ... as a mathematics engineer, I dont accept this.

As a result of today's complex rules (for the Swiss system), programmers (of all FIDE-certified programs today (Swiss Manager, Vega, ...)) are unable to implement it. So that programmers use the pairing engine JaVaFo.jar from the original (Dutch) program Swiss Master (hence the name Swiss-Dutch (Dutch variant of the Swiss system)). Then such programs need Java installed to run JaVaFo.jar. That's bizarre!

My VinczeSwiss program is not depended on the JaVaFo.jar engine. VinczeSwiss has its own (recursive) pairing function. Therefore, VinczeSwiss is not compatible with current FIDE regulations. But maybe sometimes will be Swiss - (simple) Dutch (1986 retro) (alias Swiss-Vincze) recognized by FIDE.

My algorithm is fully deterministic (so there is not any random situation, except for colour for the 1st player for 1st round). If you delete pairing of some round (see deleting the file round6.txt), then VinczeSwiss program make the same pairs again. Backward verifiability of (correct) assembly of pairs is a basic condition for legality of pairing.

! Update: !
Since version 1.04 program VinczeSwiss allow accelerated pairings (you can set IsAcceleratedPairings=True in INI file VinSwiss.ini). The method of accelerated pairings is used in some large tournaments with more than the optimal number of players for the number of rounds. For the first two rounds, players who started in the top half have one point added to their score for pairing purposes only.

Attention: If you set JaVaFoIsUsed=True, then setting IsAcceleratedPairings=True will be ignored.



(up)
Will VinczeSwiss ever get FIDE certification?

FIDE certification rules are very challenging.

FIDE certification can be considered, if the VinczeSwiss program succeeds. If (as a freeware program) will massively expand at the expense of paid programs. Lots of tournaments are not counted for FIDE ELO - and all such tournaments can be paired by VinczeSwiss program without FIDE certification.

The number of language mutations (translated by volunteers) will also indicate the expansion of the VinczeSwiss program.

! Update: !
Since version 1.02, VinczeSwiss also supports the (external) pairing engine JaVaFo.jar. If is set JaVaFoIsUsed=True in the file VinSwiss.ini, then VinczeSwiss does not use my algorithm for pairing, but will use the JaVaFo.jar engine. This ensures full compatibility with FIDE pairing rules!

Attention: For the JaVaFo.jar engine to work properly, Java must be installed on your computer.

Disclaimer: The author of the JaVaFo.jar engine is Roberto Ricca. Engine JaVaFo.jar is freely available - can be downloaded from http://www.rrweb.org/javafo/current/javafo.jar. You can also read about history of JaVaFo engine, or study its user manual.

! Update: !
If VinczeSwiss is to be FIDE certified, the tournament verification function will need to be programmed (sometime in the future). This means, that the program will decide on a tournament already played: are all pairings in accordance with the rules? Thus, any hand-pairing will be detected and such a tournament cannot be counted for elo/norms.

Therefore, since version 1.08, the pairing information for each round is also stored in the options.txt file: the list of suspended players, JaVaFoUsed yes/no, SkipColourCondition yes/no, ForbiddenMatchAgainstTeamMembers yes/no. This new information will be needed for the verification function.

However, the verification function will only be needed, when the Swiss-Vincze algorithm will be admited by FIDE.

Explanation:
(this paragraph is valid since version 1.00, but it was added to the documentation in version 1.11)
Note that my algorithm contains the formulation "Colours are not considered when pairing. Colours are assigned only after pairing is completed." The "FIDE Swiss System" (from 1986), from which I was based, also contained this formulation. The current FIDE rules (implemented in JaVaFo.jar) no longer contain such formulation. It is the opposite. The current FIDE rules dictate changing the pairings if it improves the regularity of color alternations (that's why the current FIDE rules are so complex and have four types of moveable players A/B/C/D...).
The description of my algorithm is more than 4x shorter than the description of the (currently valid) Swiss-Dutch algorithm approved by FIDE ... so my algorithm is much simpler ... but the FIDE algorithm alternates colors better.
So: If JaVaFoIsUsed=True (FIDE algorithm) is set in the VinczeSwiss program in the VinSwiss.ini file, then compared to JaVaFoIsUsed=False (my algorithm), players will be much less likely to receive the same color twice in a row.
Disclaimer: Regular/more regular color changing is more pleasant for players ... but it can also be harmful. Imagine the last round of a tournament. My algorithm make "first-third" (because the first was already playing with the second) ... and "third" would get a chance to beat "first" and be first himself. The FIDE algorithm may detects that the regular alternation of colors would be disturbed and does not make pair "first-third" (it make pairs, for example, "first-fourth" and "third-sixth").



(up)
And after such boring documentation, wouldn't there be a joke?

You mean programmer's Easter egg?

I reveal, that VinczeSwiss program also contains a joke. The joke (of course) has no effect on the functionality of the program and you don't have a chance to detect it, when you use VinczeSwiss normally. But if (on a certain program window) you will use a certain (absolutely pointless) keys sequence, you will see ... .