#
# Copyright (C) 1995-2004 by The BRLTTY Team. All rights reserved.
#
# This file is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.

# This file is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.

# You should have received a copy of the GNU Lesser General Public
# License along with this file; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
# This is free software, placed under the terms of the
# GNU General Public License, as published by the Free Software
# Foundation.  Please see the file COPYING for details.

# show any "word" which contains a country code in 8-dot computer braille.
compbrl .ad Andorra
compbrl .ae United Arab Emirates
compbrl .af Afghanistan
compbrl .ag Antigua and Barbuda
compbrl .ai Anguilla
compbrl .al Albania
compbrl .am Armenia
compbrl .an Netherlands Antilles
compbrl .ao Angola
compbrl .aq Antarctica
compbrl .ar Argentina
compbrl .as American Samoa
compbrl .at Austria
compbrl .au Australia
compbrl .aw Aruba
compbrl .az Azerbaijan
compbrl .ba Bosnia-Herzegovina
compbrl .bb Barbados
compbrl .bd Bangladesh
compbrl .be Belgium
compbrl .bf Burkina Faso
compbrl .bg Bulgaria
compbrl .bh Bahrain
compbrl .bi Burundi
compbrl .bj Benin
compbrl .bm Bermuda
compbrl .bn Brunei Darussalam
compbrl .bo Bolivia
compbrl .br Brazil
compbrl .bs Bahamas
compbrl .bt Bhutan
compbrl .bv Bouvet Island
compbrl .bw Botswana
compbrl .by Belarus
compbrl .bz Belize
compbrl .ca Canada
compbrl .cc Cocos (Keeling) Islands
compbrl .cd The Democratic Republic of The Congo
compbrl .cf Central African Republic
compbrl .cg Congo
compbrl .ch Switzerland
compbrl .ci Ivory Coast
compbrl .ck Cook Islands
compbrl .cl Chile
compbrl .cm Cameroon
compbrl .cn China
compbrl .co Colombia
compbrl .cr Costa Rica
compbrl .cu Cuba
compbrl .cv Cape Verde
compbrl .cx Christmas Island
compbrl .cy Cyprus
compbrl .cz Czech Republic
compbrl .de Germany
compbrl .dj Djibouti
compbrl .dk Denmark
compbrl .dm Dominica
compbrl .do Dominican Republic
compbrl .dz Algeria
compbrl .ec Ecuador
compbrl .ee Estonia
compbrl .eg Egypt
compbrl .eh Western Sahara
compbrl .er Eritrea
compbrl .es Spain
compbrl .et Ethiopia
compbrl .fi Finland
compbrl .fj Fiji
compbrl .fk Falkland Islands (Malvinas)
compbrl .fm Micronesia
compbrl .fo Faroe Islands
compbrl .fr France
compbrl .ga Gabon
compbrl .gb United Kingdom
compbrl .gd Grenada
compbrl .ge Georgia
compbrl .gf French Guiana
compbrl .gh Ghana
compbrl .gi Gibraltar
compbrl .gl Greenland
compbrl .gm Gambia
compbrl .gn Guinea
compbrl .gp Guadeloupe (Fr.)
compbrl .gq Equatorial Guinea
compbrl .gr Greece
compbrl .gs South Georgia And The South Sandwich Islands
compbrl .gt Guatemala
compbrl .gu Guam (U.S.)
compbrl .gw Guinea-Bissau
compbrl .gy Guyana
compbrl .hk Hong Kong
compbrl .hm Heard Island And Mcdonald Islands
compbrl .hn Honduras
compbrl .hr Croatia
compbrl .ht Haiti
compbrl .hu Hungary
compbrl .id Indonesia
compbrl .ie Ireland
compbrl .il Israel
compbrl .im Isle of Man
compbrl .in India
compbrl .io British Indian Ocean Territory
compbrl .iq Iraq
compbrl .ir Iran
compbrl .is Iceland
compbrl .it Italy
compbrl .jm Jamaica
compbrl .jo Jordan
compbrl .jp Japan
compbrl .ke Kenya
compbrl .kg Kyrgyzstan
compbrl .kh Cambodia
compbrl .ki Kiribati
compbrl .km Comoros
compbrl .kn Saint Kitts and Nevis
compbrl .kp Korea (North)
compbrl .kr Korea (South)
compbrl .kw Kuwait
compbrl .ky Cayman Islands
compbrl .kz Kazakstan
compbrl .la Lao People's Democratic Republic
compbrl .lb Lebanon
compbrl .lc Saint Lucia
compbrl .li Liechtenstein
compbrl .lk Sri Lanka
compbrl .lr Liberia
compbrl .ls Lesotho
compbrl .lt Lithuania
compbrl .lu Luxembourg
compbrl .lv Latvia
compbrl .ly Libyan Arab Jamahiriya
compbrl .ma Morocco
compbrl .mc Monaco
compbrl .md Moldova
compbrl .mg Madagascar
compbrl .mh Marshall Islands
compbrl .mk Macedonia
compbrl .ml Mali
compbrl .mm Myanmar
compbrl .mn Mongolia
compbrl .mo Macau
compbrl .mp Northern Mariana Islands
compbrl .mq Martinique
compbrl .mr Mauritania
compbrl .ms Montserrat
compbrl .mt Malta
compbrl .mu Mauritius
compbrl .mv Maldives
compbrl .mw Malawi
compbrl .mx Mexico
compbrl .my Malaysia
compbrl .mz Mozambique
compbrl .na Namibia
compbrl .nc New Caledonia (Fr.)
compbrl .ne Niger
compbrl .nf Norfolk Island
compbrl .ng Nigeria
compbrl .ni Nicaragua
compbrl .nl Netherlands
compbrl .no Norway
compbrl .np Nepal
compbrl .nr Nauru
compbrl .nu Niue
compbrl .nz New Zealand
compbrl .om Oman
compbrl .pa Panama
compbrl .pe Peru
compbrl .pf Polynesia (Fr.)
compbrl .pg Papua New Guinea
compbrl .ph Philippines
compbrl .pk Pakistan
compbrl .pl Poland
compbrl .pm Saint Pierre and Miquelon
compbrl .pn Pitcairn
compbrl .pr Puerto Rico (U.S.)
compbrl .ps Palestinian Territory, Occupied
compbrl .pt Portugal
compbrl .pw Palau
compbrl .py Paraguay
compbrl .qa Qatar
compbrl .re Reunion (Fr.)
compbrl .ro Romania
compbrl .ru Russia
compbrl .rw Rwanda
compbrl .sa Saudi Arabia
compbrl .sb Solomon Islands
compbrl .sc Seychelles
compbrl .sd Sudan
compbrl .se Sweden
compbrl .sg Singapore
compbrl .sh Saint Helena
compbrl .si Slovenia
compbrl .sj Svalbard and Jan Mayen
compbrl .sk Slovakia
compbrl .sl Sierra Leone
compbrl .sm San Marino
compbrl .sn Senegal
compbrl .so Somalia
compbrl .sr Suriname
compbrl .st Sao Tome And Principe
compbrl .su U.S.S.R.
compbrl .sv El Salvador
compbrl .sy Syrian Arab Republic
compbrl .sz Swaziland
compbrl .tc Turks And Caicos Islands
compbrl .td Chad
compbrl .tf French Southern Territories
compbrl .tg Togo
compbrl .th Thailand
compbrl .tj Tajikistan
compbrl .tk Tokelau
compbrl .tm Turkmenistan
compbrl .tn Tunisia
compbrl .to Tonga
compbrl .tp East Timor
compbrl .tr Turkey
compbrl .tt Trinidad and Tobago
compbrl .tv Tuvalu
compbrl .tw Taiwan
compbrl .tz Tanzania
compbrl .ua Ukraine
compbrl .ug Uganda
compbrl .uk United Kingdom
compbrl .um United States Minor Outlying Islands
compbrl .us United States
compbrl .uy Uruguay
compbrl .uz Uzbekistan
compbrl .va Holy See (Vatican City State)
compbrl .vc St. Vincent and the Grenadines
compbrl .ve Venezuela
compbrl .vg Virgin Islands, British
compbrl .vi Virgin Islands, U.S.
compbrl .vn Vietnam
compbrl .vu Vanuatu
compbrl .wf Wallis and Futuna
compbrl .ws Samoa
compbrl .ye Yemen
compbrl .yt Mayotte
compbrl .yu Yugoslavia
compbrl .za South Africa
compbrl .zm Zambia
compbrl .zw Zimbabwe
