Hello community,

here is the log from the commit of package cups-filters for openSUSE:Factory 
checked in at 2018-05-08 13:31:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cups-filters (Old)
 and      /work/SRC/openSUSE:Factory/.cups-filters.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cups-filters"

Tue May  8 13:31:34 2018 rev:33 rq:603926 version:1.20.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/cups-filters/cups-filters.changes        
2018-04-17 11:10:55.684952635 +0200
+++ /work/SRC/openSUSE:Factory/.cups-filters.new/cups-filters.changes   
2018-05-08 13:31:36.937947201 +0200
@@ -1,0 +2,7 @@
+Wed May  2 23:10:52 UTC 2018 - luizl...@gmail.com
+
+- Version upgrade to 1.20.3
+  to fix regression from 1.20.2 that ignores printers published
+  using legacy CUPS broadcast
+
+-------------------------------------------------------------------

Old:
----
  cups-filters-1.20.2.tar.xz

New:
----
  cups-filters-1.20.3.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cups-filters.spec ++++++
--- /var/tmp/diff_new_pack.RWPWmp/_old  2018-05-08 13:31:37.757917617 +0200
+++ /var/tmp/diff_new_pack.RWPWmp/_new  2018-05-08 13:31:37.769917183 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package cups-filters
 #
-# Copyright (c) 2018 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
 
 
 Summary:        OpenPrinting CUPS filters, backends, and cups-browsed
-License:        GPL-2.0 and GPL-2.0+ and GPL-3.0 and MIT
-Group:          Hardware/Printing
 # See also 
http://www.linuxfoundation.org/collaborate/workgroups/openprinting/pdf_as_standard_print_job_format
+License:        GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND MIT
+Group:          Hardware/Printing
 Url:            
http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters
 # For a breakdown of the licensing, see COPYING file
 # GPLv2:   filters: commandto*, imagetoraster, pdftops, rasterto*,
@@ -37,7 +37,7 @@
 #       and also run: zypper vcmp 'next version' 'current version'
 # e.g. zypper vcmp '1.0.49' '1.0.49.20140326' -> 1.0.49 is older than 
1.0.49.20140326
 #  and zypper vcmp '1.0.50' '1.0.49.20140326' -> 1.0.50 is newer than 
1.0.49.20140326
-Version:        1.20.2
+Version:        1.20.3
 Release:        0
 Source0:        
http://www.openprinting.org/download/cups-filters/cups-filters-%{version}.tar.xz
 # Upstream fix for https://bugs.linuxfoundation.org/show_bug.cgi?id=1421

++++++ cups-filters-1.20.2.tar.xz -> cups-filters-1.20.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cups-filters-1.20.2/INSTALL 
new/cups-filters-1.20.3/INSTALL
--- old/cups-filters-1.20.2/INSTALL     2018-03-31 23:26:09.000000000 +0200
+++ new/cups-filters-1.20.3/INSTALL     2018-04-12 15:23:44.000000000 +0200
@@ -1,4 +1,4 @@
-INSTALL - OpenPrinting CUPS Filters v1.20.2 - 2018-03-31
+INSTALL - OpenPrinting CUPS Filters v1.20.3 - 2018-04-12
 --------------------------------------------------------
 
 This file describes how to compile and install OpenPrinting CUPS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cups-filters-1.20.2/Makefile.am 
new/cups-filters-1.20.3/Makefile.am
--- old/cups-filters-1.20.2/Makefile.am 2018-02-13 19:21:59.000000000 +0100
+++ new/cups-filters-1.20.3/Makefile.am 2018-04-04 18:28:10.000000000 +0200
@@ -1090,7 +1090,7 @@
        $(LN_S) -f pdf.utf-8.simple \
                $(DESTDIR)$(pkgcharsetdir)/pdf.utf-8
 if ENABLE_BRAILLE
-       chmod g-rwx,o-rwx $(DESTDIR)/$(pkgbackenddir)/cups-brf
+       chmod g-wx,o-wx $(DESTDIR)/$(pkgbackenddir)/cups-brf
 endif
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cups-filters-1.20.2/Makefile.in 
new/cups-filters-1.20.3/Makefile.in
--- old/cups-filters-1.20.2/Makefile.in 2018-03-31 23:26:37.000000000 +0200
+++ new/cups-filters-1.20.3/Makefile.in 2018-04-12 15:25:30.000000000 +0200
@@ -5440,7 +5440,7 @@
 @RCLINKS_TRUE@ $(LN_S) -f ../init.d/cups-browsed 
$(DESTDIR)$(INITDIR)/rc0.d/K$(RCSTOP)cups-browsed;
        $(LN_S) -f pdf.utf-8.simple \
                $(DESTDIR)$(pkgcharsetdir)/pdf.utf-8
-@ENABLE_BRAILLE_TRUE@  chmod g-rwx,o-rwx $(DESTDIR)/$(pkgbackenddir)/cups-brf
+@ENABLE_BRAILLE_TRUE@  chmod g-wx,o-wx $(DESTDIR)/$(pkgbackenddir)/cups-brf
 
 uninstall-hook:
 @RCLINKS_TRUE@ if test "x$(INITDIR)" != x; then \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cups-filters-1.20.2/NEWS new/cups-filters-1.20.3/NEWS
--- old/cups-filters-1.20.2/NEWS        2018-03-31 23:26:09.000000000 +0200
+++ new/cups-filters-1.20.3/NEWS        2018-04-12 15:23:44.000000000 +0200
@@ -1,6 +1,26 @@
-NEWS - OpenPrinting CUPS Filters v1.20.2 - 2018-03-31
+NEWS - OpenPrinting CUPS Filters v1.20.3 - 2018-04-12
 -----------------------------------------------------
 
+CHANGES IN V1.20.3
+
+       - braille: Do not remove read permission on cups-brf. Thanks
+         to Samuel Thibault for this patch (Pull request #32).
+       - braille: Get braille table descriptions from liblouis
+         metadata. Thanks to Samuel Thibault for this patch (Pull
+         request #31).
+       - braille: Select liblouis tables based on metadata before
+         using file names. Thanks to Samuel Thibault for this patch
+         (Pull request #30).
+       - cups-browsed: The new method of identifying remote CUPS
+         queues via the "printer-type" TXT record field does not work
+         for printers discovered by legacy CUPS broadcast (CUPS 1.5.x
+         or older). Now consider also printers without TXT record
+         (not discovered via DNS-SD) as remote CUPS queues (Issue
+         #34).
+       - gstoraster: Improved detection whether input is PostScript
+         or PDF by skipping over possible headers. Thanks to Rod
+         Schmidt (schmidtrod at q dot com) for the patch.
+
 CHANGES IN V1.20.2
 
        - cups-browsed: If the user modifies/overwrites a print queue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cups-filters-1.20.2/README 
new/cups-filters-1.20.3/README
--- old/cups-filters-1.20.2/README      2018-03-31 23:26:09.000000000 +0200
+++ new/cups-filters-1.20.3/README      2018-04-12 15:23:44.000000000 +0200
@@ -1,4 +1,4 @@
-README - OpenPrinting CUPS Filters v1.20.2 - 2018-03-31
+README - OpenPrinting CUPS Filters v1.20.3 - 2018-04-12
 -------------------------------------------------------
 
 Looking for compile instructions?  Read the file "INSTALL.txt"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cups-filters-1.20.2/configure 
new/cups-filters-1.20.3/configure
--- old/cups-filters-1.20.2/configure   2018-03-31 23:26:38.000000000 +0200
+++ new/cups-filters-1.20.3/configure   2018-04-12 15:25:30.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for cups-filters 1.20.2.
+# Generated by GNU Autoconf 2.69 for cups-filters 1.20.3.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@
 # Identity of this package.
 PACKAGE_NAME='cups-filters'
 PACKAGE_TARNAME='cups-filters'
-PACKAGE_VERSION='1.20.2'
-PACKAGE_STRING='cups-filters 1.20.2'
+PACKAGE_VERSION='1.20.3'
+PACKAGE_STRING='cups-filters 1.20.3'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1500,7 +1500,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures cups-filters 1.20.2 to adapt to many kinds of systems.
+\`configure' configures cups-filters 1.20.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1571,7 +1571,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of cups-filters 1.20.2:";;
+     short | recursive ) echo "Configuration of cups-filters 1.20.3:";;
    esac
   cat <<\_ACEOF
 
@@ -1801,7 +1801,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-cups-filters configure 1.20.2
+cups-filters configure 1.20.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2439,7 +2439,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by cups-filters $as_me 1.20.2, which was
+It was created by cups-filters $as_me 1.20.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3474,7 +3474,7 @@
 
 # Define the identity of the package.
  PACKAGE='cups-filters'
- VERSION='1.20.2'
+ VERSION='1.20.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -21808,7 +21808,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by cups-filters $as_me 1.20.2, which was
+This file was extended by cups-filters $as_me 1.20.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21874,7 +21874,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-cups-filters config.status 1.20.2
+cups-filters config.status 1.20.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cups-filters-1.20.2/configure.ac 
new/cups-filters-1.20.3/configure.ac
--- old/cups-filters-1.20.2/configure.ac        2018-03-31 23:26:09.000000000 
+0200
+++ new/cups-filters-1.20.3/configure.ac        2018-04-12 15:23:44.000000000 
+0200
@@ -7,7 +7,7 @@
 # ====================
 m4_define([cups_filters_version_major],[1])
 m4_define([cups_filters_version_minor],[20])
-m4_define([cups_filters_version_micro],[2])
+m4_define([cups_filters_version_micro],[3])
 
m4_define([cups_filters_version],[cups_filters_version_major.cups_filters_version_minor.cups_filters_version_micro])
 
 # =============
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cups-filters-1.20.2/filter/braille/filters/cups-braille.sh.in 
new/cups-filters-1.20.3/filter/braille/filters/cups-braille.sh.in
--- old/cups-filters-1.20.2/filter/braille/filters/cups-braille.sh.in   
2018-02-07 23:08:42.000000000 +0100
+++ new/cups-filters-1.20.3/filter/braille/filters/cups-braille.sh.in   
2018-04-04 18:28:10.000000000 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2015-2017 Samuel Thibault <samuel.thiba...@ens-lyon.org>
+# Copyright (c) 2015-2018 Samuel Thibault <samuel.thiba...@ens-lyon.org>
 # 
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to deal
@@ -294,7 +294,7 @@
 
 TABLESDIR=@TABLESDIR@
 echo "DEBUG: Liblouis table directory is $TABLESDIR" >&2
-  
+
 getOptionLibLouis () {
   OPTION=$1
   VALUE=$(getOption $OPTION)
@@ -310,6 +310,59 @@
   LOCALE=${LANG%@*}
   LOCALE=${LOCALE%.*}
   LANGUAGE=${LOCALE%_*}
+  COUNTRY=${LOCALE#*_}
+  LOUIS_LOCALE=$LANGUAGE-$COUNTRY
+
+  getLibLouisTableScore () {
+    GRADE="$1"
+    printf "DEBUG: looking for locale '%s' and grade '%s' \n" "$LOCALE" 
"$GRADE" >&2
+    # Try to select a good table from its metadata
+    selected=
+    selectedscore=0
+    for table in "$TABLESDIR/"*.tbl "$TABLESDIR/"*.ctb "$TABLESDIR/"*.utb; do
+      score=0
+      name=${table#$TABLESDIR/}
+
+      if grep -q "^#+locale:$LOUIS_LOCALE$" $table; then
+       printf "DEBUG: %s has correct locale %s\n" "$name" "$LOUIS_LOCALE" >&2
+       score=$((score + 15))
+      elif grep -q "^#+locale:$LANGUAGE$" $table; then
+       printf "DEBUG: %s has correct language %s\n" "$name" "$LANGUAGE" >&2
+       score=$((score + 10))
+      else
+       # Requested language is a must
+       continue
+      fi
+
+      if [ -n "$GRADE" ]; then
+       if grep -q "^#+grade:$GRADE$" $table || \
+        ( [ "$GRADE" = 0 ] && grep -q "^#+contraction:no" $table ) \
+       then
+         printf "DEBUG: %s has correct grade %s\n" "$name" "$GRADE" >&2
+         score=$((score + 10))
+       else
+         # Requested grade is a must
+         continue
+       fi
+      fi
+
+      # Dot numbers are not always specified in liblouis :/
+      if grep -q "^#+dots:$TEXTDOTS$" $table || \
+        ( [ "$TEXTDOTS" = 6 ] && grep -q "^#+grade:[1-3]" $table ) \
+      then
+       printf "DEBUG: %s has correct dots %s\n" "$name" "$TEXTDOTS" >&2
+       score=$((score + 2))
+      fi
+
+      if [ $score -gt $selectedscore ]; then
+       printf "DEBUG: %s has better score $score\n" "$name" >&2
+       selected=$name
+       selectedscore=$score
+      fi
+    done
+
+    echo $selected
+  }
 
   # Check presence of table
   case "$VALUE" in
@@ -317,28 +370,36 @@
       printf None
       ;;
     Locale)
-      if [ -f "$TABLESDIR/$LOCALE.tbl" ]
-      then
+      selected=$(getLibLouisTableScore '')
+      # Try tagged tables before untagged ones
+      if [ -n "$selected" ]; then
+       printf "%s" "$selected"
+      elif [ -f "$TABLESDIR/$LOCALE.tbl" ]; then
        printf "%s" "$LOCALE.tbl"
-      elif [ -f "$TABLESDIR/$LANGUAGE.tbl" ]
-      then
+      elif [ -f "$TABLESDIR/$LANGUAGE.tbl" ]; then
        printf "%s" "$LANGUAGE.tbl"
       else
-        printf "WARN: Could not find $OPTION table '%s.tbl' or '%s.tbl'\n" 
"$LOCALE" "$LANGUAGE" >&2
+        printf "WARN: Could not find $OPTION table with locale %s\n" "$LOCALE" 
>&2
        printf None
       fi
       ;;
     Locale-g[0-3])
       GRADE=${VALUE#Locale-g}
-      for i in "$TABLESDIR/$LOCALE.tbl" "$TABLESDIR/$LOCALE"*.tbl 
"$TABLESDIR/$LANGUAGE.tbl" "$TABLESDIR/$LANGUAGE"*.tbl
-      do
-       if grep -q "^#+grade:$GRADE$" "$i"
-       then
-         printf "%s" "${i//*\/}"
-         exit 0
-       fi
-      done
-      printf "ERROR: Could not find $OPTION table '%s*.tbl' or '%s*.tbl' with 
grade $GRADE\n" "$LOCALE" "$LANGUAGE" >&2
+      selected=$(getLibLouisTableScore $GRADE)
+      if [ -n "$selected" ]; then
+       printf "%s" "$selected"
+       exit 0
+      else
+       for i in "$TABLESDIR/$LOCALE.tbl" "$TABLESDIR/$LOCALE"*.tbl 
"$TABLESDIR/$LANGUAGE.tbl" "$TABLESDIR/$LANGUAGE"*.tbl
+       do
+         if grep -q "^#+grade:$GRADE$" "$i"
+         then
+           printf "%s" "${i//*\/}"
+           exit 0
+         fi
+       done
+      fi
+      printf "ERROR: Could not find $OPTION table with locale %s and grade 
%s\n" "$LOCALE" "$GRADE" >&2
       printf None
       exit 1
       ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cups-filters-1.20.2/filter/braille/filters/liblouis1.defs.gen.in 
new/cups-filters-1.20.3/filter/braille/filters/liblouis1.defs.gen.in
--- old/cups-filters-1.20.2/filter/braille/filters/liblouis1.defs.gen.in        
2018-02-07 23:08:42.000000000 +0100
+++ new/cups-filters-1.20.3/filter/braille/filters/liblouis1.defs.gen.in        
2018-04-04 18:28:10.000000000 +0200
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 # 
-# Copyright (c) 2015, 2017 Samuel Thibault <samuel.thiba...@ens-lyon.org>
+# Copyright (c) 2015, 2017-2018 Samuel Thibault <samuel.thiba...@ens-lyon.org>
 # 
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to deal
@@ -39,182 +39,209 @@
   for i in $TABLESDIR/*.utb $TABLESDIR/*.ctb
   do
     file=${i##*/}
-    name=${file%.ctb}
-    name=${name%.utb}
-    DESC=$name
-    LANGUAGE=""
+    ext=${file##*.}
+    name=${file%.$ext}
+    TYPE=""
+    LANGUAGE="$name"
     LOCATION=""
     GRADE=""
-    case $name in 
-      "afr-za-g1")     LANGUAGE=Afrikaans DESC="grade 1" ;;
-      "ar-ar-g1")      LANGUAGE=Arabic DESC="grade 1" ;;
-      "ar-fa")         LANGUAGE=Persian DESC="grade 1" ;;
-      "as-in-g1")      LANGUAGE=Assamese DESC="grade 1" ;;
-      "aw-in-g1")      LANGUAGE=Awadhi DESC="grade 1" ;;
-      "be-in-g1")      LANGUAGE=Bengali DESC="grade 1" ;;
-      "bg")            LANGUAGE=Bulgarian DESC="grade 1" ;;
-      "bh")            LANGUAGE=Bihari DESC="grade 1" ;;
-      "bo")            LANGUAGE=Tibetan DESC="grade 1" ;;
-      "boxes")         DESC="Box drawing" ;;
-      "br-in-g1")      LANGUAGE=Braj DESC="Box drawing" ;;
-      "ca-g1")         LANGUAGE=Catalan DESC="grade 1" ;;
-      "chr-us-g1")     LANGUAGE=Cherokee DESC="grade 1" ;;
-      "ckb-g1")                LANGUAGE="Sorani (Kurdish)" DESC="grade 1" ;;
-      "cs-g1")         LANGUAGE=Czech DESC="grade 1" ;;
-      "cy-cy-g1")      LANGUAGE=Welsh DESC="grade 1" ;;
-      "cy-cy-g2")      LANGUAGE=Welsh DESC="grade 2" ;;
-      "Cz-Cz-g1")      LANGUAGE=Czech DESC="grade 1" ;;
-      "da-dk-g08")     LANGUAGE=Danish DESC="grade 0" ;;
-      "da-dk-g16")     LANGUAGE=Danish DESC="grade 1 6 dots" ;;
-      "da-dk-g18")     LANGUAGE=Danish DESC="grade 1 8 dots" ;;
-      "da-dk-g26")     LANGUAGE=Danish DESC="grade 2 6 dots" ;;
-      "da-dk-g26l")    LANGUAGE=Danish DESC="grade 2 6 dots limited" ;;
-      "da-dk-g28")     LANGUAGE=Danish DESC="grade 2 8 dots" ;;
-      "da-dk-g28l")    LANGUAGE=Danish DESC="grade 2 8 dots limited" ;;
-      "da-lt")         LANGUAGE=Danish DESC="LogText" ;;
-      "de-chess")      LANGUAGE=German DESC="Chess" ;;
-      "de-ch-g0")      LANGUAGE=German LOCATION=Swiss DESC="grade 0" ;;
-      "de-ch-g1")      LANGUAGE=German LOCATION=Swiss DESC="grade 1" ;;
-      "de-ch-g2")      LANGUAGE=German LOCATION=Swiss DESC="grade 2" ;;
-      "de-de-comp8")   LANGUAGE=German LOCATION=Germany DESC="computer" ;;
-      "de-de-g0")      LANGUAGE=German LOCATION=Germany DESC="grade 0" ;;
-      "de-de-g1")      LANGUAGE=German LOCATION=Germany DESC="grade 1" ;;
-      "de-de-g2")      LANGUAGE=German LOCATION=Germany DESC="grade 2" ;;
-      "dra")           LANGUAGE=Dravidian DESC="grade 1" ;;
-      "en_CA")         LANGUAGE=English LOCATION=Canada DESC="grade 1" ;;
-      "en-chess")      LANGUAGE=English DESC="Chess" ;;
-      "en-gb-comp8")   LANGUAGE=English LOCATION=U.K. DESC="computer" ;;
-      "en-gb-g1")      LANGUAGE=English LOCATION=U.K. DESC="grade 1" ;;
-      "en-GB-g2")      LANGUAGE=English LOCATION=U.K. DESC="grade 2" ;;
-      "en-in-g1")      LANGUAGE=English LOCATION=India  DESC="grade 1" ;;
-      "en-ueb-g1")     LANGUAGE=English DESC="Unified grade 1" ;;
-      "en-ueb-g2")     LANGUAGE=English DESC="Unified grade 2" ;;
-      "en-us-comp6")   LANGUAGE=English LOCATION=U.S. DESC="computer 6 dots" ;;
-      "en-us-comp8")   LANGUAGE=English LOCATION=U.S. DESC="computer 8 dots" ;;
-      "en-us-compbrl") LANGUAGE=English LOCATION=U.S. DESC="computer" ;;
-      "en-us-g1")      LANGUAGE=English LOCATION=U.S. DESC="grade 1" ;;
-      "en-us-g2")      LANGUAGE=English LOCATION=U.S. DESC="grade 2" ;;
-      "en-us-interline")       LANGUAGE=English LOCATION=U.S. DESC="interline" 
;;
-      "en-us-mathtext")        LANGUAGE=English LOCATION=U.S. DESC="mathtext" 
;;
-      "eo-g1")         LANGUAGE=Esperanto DESC="grade 1" ;;
-      "eo-g1-x-system")        LANGUAGE=Esperanto DESC="grade 1 x-system" ;;
-      "Es-Es-G0")      LANGUAGE=Spanish DESC="grade 0" ;;
-      "Es-Es-g1")      LANGUAGE=Spanish DESC="grade 1" ;;
-      "es-g1")         LANGUAGE=Spanish DESC="grade 1" ;;
-      "et")            LANGUAGE=Estonian DESC="grade 1" ;;
-      "et-g0")         LANGUAGE=Estonian DESC="grade 0" ;;
-      "ethio-g1")      LANGUAGE=Ethiopic DESC="grade 1" ;;
-      "fi")            LANGUAGE=Finnish DESC="6 dot" ;;
-      "fi1")           LANGUAGE=Finnish DESC="grade 1" ;;
-      "fi2")           LANGUAGE=Finnish DESC="grade 2" ;;
-      "fi-fi-8dot")    LANGUAGE=Finnish DESC="8dot" ;;
-      "fi-fi")         LANGUAGE=Finnish DESC="6dot" ;;
-      "fr-2007")       LANGUAGE=French DESC="2007" ;;
-      "fr-bfu-comp6")  LANGUAGE=French DESC="Braille Français Unifié computer 
6 dots" ;;
-      "fr-bfu-comp8")  LANGUAGE=French DESC="Braille Français Unifié computer 
8 dots" ;;
-      "fr-bfu-g2")     LANGUAGE=French DESC="Braille Français Unifié grade 2" 
;;
-      "fr-ca-g1")      LANGUAGE=French LOCATION=Canada DESC="grade 1" ;;
-      "Fr-Ca-g2")      LANGUAGE=French LOCATION=Canada DESC="grade 2" ;;
-      "fr-fr-g1")      LANGUAGE=French LOCATION=France DESC="grade 1" ;;
-      "Fr-Fr-g2")      LANGUAGE=French LOCATION=France DESC="grade 2" ;;
-      "ga-g1")         LANGUAGE=Gaeilge DESC="grade 1" ;;
-      "ga-g2")         LANGUAGE=Gaeilge DESC="grade 2" ;;
-      "gd")            LANGUAGE=Gaelic DESC="grade 1" ;;
-      "gon")           LANGUAGE=Gondi DESC="grade 1" ;;
-      "gr-bb")         LANGUAGE=Greek DESC="bb" ;;
-      "gr-gr-g1")      LANGUAGE=Greek DESC="grade 1" ;;
-      "gu-in-g1")      LANGUAGE=Gujarati DESC="grade 1" ;;
-      "haw-us-g1")     LANGUAGE=Hawaiian DESC="grade 1" ;;
-      "he")            LANGUAGE=Hebrew DESC="grade 1" ;;
-      "hi-in-g1")      LANGUAGE=Hindi DESC="grade 1" ;;
-      "hr")            LANGUAGE=Croatian DESC="grade 1" ;;
-      "hu-hu-comp8")   LANGUAGE=Hungarian DESC="computer 8 dots" ;;
-      "hu-hu-g1")      LANGUAGE=Hungarian DESC="grade 1" ;;
-      "hy")            LANGUAGE=Armenian DESC="grade 1" ;;
-      "is")            LANGUAGE=Icelandic DESC="grade 1" ;;
-      "it-it-comp6")   LANGUAGE=Italian DESC="computer 6 dots" ;;
-      "it-it-comp8")   LANGUAGE=Italian DESC="computer 8 dots" ;;
-      "iu-ca-g1")      LANGUAGE=Inuktitut DESC="grade 1" ;;
-      "ka-in-g1")      LANGUAGE=Kannada DESC="grade 1" ;;
-      "kh-in-g1")      LANGUAGE=Khasi DESC="grade 1" ;;
-      "ko-2006-g1")    LANGUAGE=Korean DESC="grade 1 2006" ;;
-      "ko-2006-g2")    LANGUAGE=Korean DESC="grade 2 2006" ;;
-      "ko-g1")         LANGUAGE=Korean DESC="grade 1" ;;
-      "ko-g2")         LANGUAGE=Korean DESC="grade 2" ;;
-      "kok")           LANGUAGE=Konkani DESC="grade 1" ;;
-      "kru")           LANGUAGE=Kurukh DESC="grade 1" ;;
-      "ks-in-g1")      LANGUAGE=Kashmiri DESC="grade 1" ;;
-      "lt")            LANGUAGE=Lithuanian DESC="grade 1" ;;
-      "Lv-Lv-g1")      LANGUAGE=Latvian DESC="grade 1" ;;
-      "mao-nz-g1")     LANGUAGE=Maori DESC="grade 1" ;;
-      "marburg")       DESC="Marburg maths" ;;
-      "marburg_edit")  DESC="Marburg maths post-translation editing" ;;
-      "ml-in-g1")      LANGUAGE=Malayalam DESC="grade 1" ;;
-      "mn-in-g1")      LANGUAGE=Manipuri DESC="grade 1" ;;
-      "mn-MN")         LANGUAGE=Mongolian DESC="grade 1" ;;
-      "mr-in-g1")      LANGUAGE=Marathi DESC="grade 1" ;;
-      "mt")            LANGUAGE=Maltese DESC="grade 1" ;;
-      "mun")           LANGUAGE=Munda DESC="grade 1" ;;
-      "mwr")           LANGUAGE=Marwari DESC="grade 1" ;;
-      "ne")            LANGUAGE=Nepali DESC="grade 1" ;;
-      "nemeth")                DESC="Nemeth Maths" ;;
-      "nemeth_edit")   DESC="Nemeth Maths post-translation editing" ;;
-      "nl-BE-g0")      LANGUAGE=Dutch LOCATION=Belgium DESC="grade 0" ;;
-      "nl-g0")         LANGUAGE=Dutch DESC="grade 0" ;;
-      "nl-NL-g0")      LANGUAGE=Dutch LOCATION="Netherlands" DESC="grade 0" ;;
-      "Nl-Nl-g1")      LANGUAGE=Dutch LOCATION=Netherlands DESC="grade 1" ;;
-      "no-no-8dot-fallback-6dot-g0")   LANGUAGE=Norwegian DESC="grade 0 8 dots 
fallback 6 dots" ;;
-      "no-no-8dot")    LANGUAGE=Norwegian DESC="grade 0 8 dots" ;;
-      "no-no-comp8")   LANGUAGE=Norwegian DESC="grade 0 computer" ;;
-      "no-no-g0")      LANGUAGE=Norwegian DESC="grade 0" ;;
-      "no-no-g1")      LANGUAGE=Norwegian DESC="grade 1" ;;
-      "no-no-g2")      LANGUAGE=Norwegian DESC="grade 2" ;;
-      "no-no-g3")      LANGUAGE=Norwegian DESC="grade 3" ;;
-      "no-no-generic") LANGUAGE=Norwegian DESC="generic" ;;
-      "np-in-g1")      LANGUAGE=Nepali DESC="grade 1" ;;
-      "or-in-g1")      LANGUAGE=Oriya DESC="grade 1" ;;
-      "pi")            LANGUAGE=Pali DESC="grade 1" ;;
-      "pl-pl-comp8")   LANGUAGE=Polish DESC="computer" ;;
-      "Pl-Pl-g1")      LANGUAGE=Polish DESC="grade 1" ;;
-      "pt-pt-comp8")   LANGUAGE=Portuguese DESC="computer" ;;
-      "pt-pt-g1")      LANGUAGE=Portuguese DESC="grade 1" ;;
-      "pt-pt-g2")      LANGUAGE=Portuguese DESC="grade 2" ;;
-      "pu-in-g1")      LANGUAGE=Punjabi DESC="grade 1" ;;
-      "ro")            LANGUAGE=Romanian DESC="grade 1" ;;
-      "ru-compbrl")    LANGUAGE=Russian DESC="computer" ;;
-      "ru")            LANGUAGE=Russian DESC="grade 1" ;;
-      "ru-litbrl")     LANGUAGE=Russian DESC="literary" ;;
-      "ru-ru-g1")      LANGUAGE=Russian DESC="grade 1" ;;
-      "sa-in-g1")      LANGUAGE=Sasnskrit DESC="grade 1" ;;
-      "se-se")         LANGUAGE=Swedish DESC="grade 1" ;;
-      "Se-Se-g1")      LANGUAGE=Swedish DESC="grade 1" ;;
-      "si-in-g1")      LANGUAGE=Sindhi DESC="grade 1" ;;
-      "sk-g1")         LANGUAGE=Slovak DESC="grade 1" ;;
-      "sk-sk-g1")      LANGUAGE=Slovak DESC="grade 1" ;;
-      "sk-sk")         LANGUAGE=Slovak DESC="grade 1" ;;
-      "sl-si-comp8")   LANGUAGE=Slovenian DESC="computer" ;;
-      "sl-si-g1")      LANGUAGE=Slovenian DESC="grade 1" ;;
-      "sot-za-g1")     LANGUAGE=Sotho DESC="grade 1" ;;
-      "spaces")                DESC="Spaces" ;;
-      "sr-g1")         LANGUAGE=Serbian DESC="grade 1" ;;
-      "sv-1989")       LANGUAGE=Swedish DESC="1989" ;;
-      "sv-1996")       LANGUAGE=Swedish DESC="1996" ;;
-      "ta")            LANGUAGE=Tamil DESC="grade 1" ;;
-      "ta-ta-g1")      LANGUAGE=Tamil DESC="grade 1" ;;
-      "te-in-g1")      LANGUAGE=Telugu DESC="grade 1" ;;
-      "tr")            LANGUAGE=Turkish DESC="grade 1" ;;
-      "tsn-za-g1")     LANGUAGE=Tswana DESC="grade 1" ;;
-      "UEBC-g1")       LANGUAGE=English DESC="Unified grade 1" ;;
-      "UEBC-g2")       LANGUAGE=English DESC="Unified grade 2" ;;
-      "ukmaths")       DESC="U.K maths" ;;
-      "ukmaths_edit")  DESC="U.K maths post-translation editing" ;;
-      "vi")            LANGUAGE=Vietnamese DESC="grade 1" ;;
-      "vi-g1")         LANGUAGE=Vietnamese DESC="grade 1" ;;
-      "wiskunde")      LANGUAGE=Flemish DESC="grade 1" ;;
-      "zh-hk")         LANGUAGE=Chinese LOCATION="Hong Kong" DESC="grade 1" ;;
-      "zh-tw")         LANGUAGE=Chinese LOCATION="Taiwan" DESC="grade 1" ;;
-    esac
-    echo "$file:$LANGUAGE:$LOCATION:$DESC"
+    DISPLAY_NAME=""
+    display_name=$(grep ^#-display-name: "$i" | cut -d ' ' -f 2-)
+    if [ -n "$display_name" ]; then
+      # Table provides a display name, neat
+      DISPLAY_NAME=$display_name
+      LANGUAGE=$DISPLAY_NAME
+    else
+      case $name in 
+       "afr-za-g1")    LANGUAGE=Afrikaans TYPE="grade 1" ;;
+       "ar-ar-g1")     LANGUAGE=Arabic TYPE="grade 1" ;;
+       "ar-fa")        LANGUAGE=Persian TYPE="grade 1" ;;
+       "as-in-g1")     LANGUAGE=Assamese TYPE="grade 1" ;;
+       "aw-in-g1")     LANGUAGE=Awadhi TYPE="grade 1" ;;
+       "be-in-g1")     LANGUAGE=Bengali TYPE="grade 1" ;;
+       "bg")           LANGUAGE=Bulgarian TYPE="grade 1" ;;
+       "bh")           LANGUAGE=Bihari TYPE="grade 1" ;;
+       "bo")           LANGUAGE=Tibetan TYPE="grade 1" ;;
+       "boxes")        TYPE="Box drawing" ;;
+       "br-in-g1")     LANGUAGE=Braj TYPE="Box drawing" ;;
+       "ca-g1")        LANGUAGE=Catalan TYPE="grade 1" ;;
+       "chr-us-g1")    LANGUAGE=Cherokee TYPE="grade 1" ;;
+       "ckb-g1")       LANGUAGE="Sorani (Kurdish)" TYPE="grade 1" ;;
+       "cs-g1")        LANGUAGE=Czech TYPE="grade 1" ;;
+       "cy-cy-g1")     LANGUAGE=Welsh TYPE="grade 1" ;;
+       "cy-cy-g2")     LANGUAGE=Welsh TYPE="grade 2" ;;
+       "Cz-Cz-g1")     LANGUAGE=Czech TYPE="grade 1" ;;
+       "da-dk-g08")    LANGUAGE=Danish TYPE="grade 0" ;;
+       "da-dk-g16")    LANGUAGE=Danish TYPE="grade 1 6 dots" ;;
+       "da-dk-g18")    LANGUAGE=Danish TYPE="grade 1 8 dots" ;;
+       "da-dk-g26")    LANGUAGE=Danish TYPE="grade 2 6 dots" ;;
+       "da-dk-g26l")   LANGUAGE=Danish TYPE="grade 2 6 dots limited" ;;
+       "da-dk-g28")    LANGUAGE=Danish TYPE="grade 2 8 dots" ;;
+       "da-dk-g28l")   LANGUAGE=Danish TYPE="grade 2 8 dots limited" ;;
+       "da-lt")        LANGUAGE=Danish TYPE="LogText" ;;
+       "de-chess")     LANGUAGE=German TYPE="Chess" ;;
+       "de-ch-g0")     LANGUAGE=German LOCATION=Swiss TYPE="grade 0" ;;
+       "de-ch-g1")     LANGUAGE=German LOCATION=Swiss TYPE="grade 1" ;;
+       "de-ch-g2")     LANGUAGE=German LOCATION=Swiss TYPE="grade 2" ;;
+       "de-de-comp8")  LANGUAGE=German LOCATION=Germany TYPE="computer" ;;
+       "de-de-g0")     LANGUAGE=German LOCATION=Germany TYPE="grade 0" ;;
+       "de-de-g1")     LANGUAGE=German LOCATION=Germany TYPE="grade 1" ;;
+       "de-de-g2")     LANGUAGE=German LOCATION=Germany TYPE="grade 2" ;;
+       "dra")          LANGUAGE=Dravidian TYPE="grade 1" ;;
+       "el")           LANGUAGE=Greek TYPE="grade 1" ;;
+       "en_CA")        LANGUAGE=English LOCATION=Canada TYPE="grade 1" ;;
+       "en-chess")     LANGUAGE=English TYPE="Chess" ;;
+       "en-gb-comp8")  LANGUAGE=English LOCATION=U.K. TYPE="computer" ;;
+       "en-gb-g1")     LANGUAGE=English LOCATION=U.K. TYPE="grade 1" ;;
+       "en-GB-g2")     LANGUAGE=English LOCATION=U.K. TYPE="grade 2" ;;
+       "en-in-g1")     LANGUAGE=English LOCATION=India  TYPE="grade 1" ;;
+       "en-ueb-g1")    LANGUAGE=English TYPE="Unified grade 1" ;;
+       "en-ueb-g2")    LANGUAGE=English TYPE="Unified grade 2" ;;
+       "en-ueb-math")  LANGUAGE=English TYPE="Unified math definitions" ;;
+       "en-us-comp6")  LANGUAGE=English LOCATION=U.S. TYPE="computer 6 dots" ;;
+       "en-us-comp8")  LANGUAGE=English LOCATION=U.S. TYPE="computer 8 dots" ;;
+       "en-us-compbrl")        LANGUAGE=English LOCATION=U.S. TYPE="computer" 
;;
+       "en-us-g1")     LANGUAGE=English LOCATION=U.S. TYPE="grade 1" ;;
+       "en-us-g2")     LANGUAGE=English LOCATION=U.S. TYPE="grade 2" ;;
+       "en-us-interline")      LANGUAGE=English LOCATION=U.S. TYPE="interline" 
;;
+       "en-us-mathtext")       LANGUAGE=English LOCATION=U.S. TYPE="mathtext" 
;;
+       "eo-g1")        LANGUAGE=Esperanto TYPE="grade 1" ;;
+       "eo-g1-x-system")       LANGUAGE=Esperanto TYPE="grade 1 x-system" ;;
+       "Es-Es-G0")     LANGUAGE=Spanish TYPE="grade 0" ;;
+       "Es-Es-g1")     LANGUAGE=Spanish TYPE="grade 1" ;;
+       "es-g1")        LANGUAGE=Spanish TYPE="grade 1" ;;
+       "et")           LANGUAGE=Estonian TYPE="grade 1" ;;
+       "et-g0")        LANGUAGE=Estonian TYPE="grade 0" ;;
+       "ethio-g1")     LANGUAGE=Ethiopic TYPE="grade 1" ;;
+       "fi")           LANGUAGE=Finnish TYPE="6 dot" ;;
+       "fi1")          LANGUAGE=Finnish TYPE="grade 1" ;;
+       "fi2")          LANGUAGE=Finnish TYPE="grade 2" ;;
+       "fi-fi-8dot")   LANGUAGE=Finnish TYPE="8dot" ;;
+       "fi-fi")        LANGUAGE=Finnish TYPE="6dot" ;;
+       "fr-2007")      LANGUAGE=French TYPE="2007" ;;
+       "fr-bfu-comp6") LANGUAGE=French TYPE="Braille Français Unifié computer 
6 dots" ;;
+       "fr-bfu-comp8") LANGUAGE=French TYPE="Braille Français Unifié computer 
8 dots" ;;
+       "fr-bfu-g2")    LANGUAGE=French TYPE="Braille Français Unifié grade 2" 
;;
+       "fr-ca-g1")     LANGUAGE=French LOCATION=Canada TYPE="grade 1" ;;
+       "Fr-Ca-g2")     LANGUAGE=French LOCATION=Canada TYPE="grade 2" ;;
+       "fr-fr-g1")     LANGUAGE=French LOCATION=France TYPE="grade 1" ;;
+       "Fr-Fr-g2")     LANGUAGE=French LOCATION=France TYPE="grade 2" ;;
+       "ga-g1")        LANGUAGE=Gaeilge TYPE="grade 1" ;;
+       "ga-g2")        LANGUAGE=Gaeilge TYPE="grade 2" ;;
+       "gd")           LANGUAGE=Gaelic TYPE="grade 1" ;;
+       "gon")          LANGUAGE=Gondi TYPE="grade 1" ;;
+       "gr-bb")        LANGUAGE=Greek TYPE="bb" ;;
+       "gr-gr-g1")     LANGUAGE=Greek TYPE="grade 1" ;;
+       "gu-in-g1")     LANGUAGE=Gujarati TYPE="grade 1" ;;
+       "haw-us-g1")    LANGUAGE=Hawaiian TYPE="grade 1" ;;
+       "he")           LANGUAGE=Hebrew TYPE="grade 1" ;;
+       "hi-in-g1")     LANGUAGE=Hindi TYPE="grade 1" ;;
+       "hr"|"hr-g1")   LANGUAGE=Croatian TYPE="grade 1" ;;
+       "hr-comp8")     LANGUAGE=Croatian TYPE="computer 8 dots" ;;
+       "hu-hu-comp8")  LANGUAGE=Hungarian TYPE="computer 8 dots" ;;
+       "hu-hu-g1")     LANGUAGE=Hungarian TYPE="grade 1" ;;
+       "hy")           LANGUAGE=Armenian TYPE="grade 1" ;;
+       "is")           LANGUAGE=Icelandic TYPE="grade 1" ;;
+       "it-it-comp6")  LANGUAGE=Italian TYPE="computer 6 dots" ;;
+       "it-it-comp8")  LANGUAGE=Italian TYPE="computer 8 dots" ;;
+       "iu-ca-g1")     LANGUAGE=Inuktitut TYPE="grade 1" ;;
+       "ka-in-g1")     LANGUAGE=Kannada TYPE="grade 1" ;;
+       "kh-in-g1")     LANGUAGE=Khasi TYPE="grade 1" ;;
+       "ko-2006-g1")   LANGUAGE=Korean TYPE="grade 1 2006" ;;
+       "ko-2006-g2")   LANGUAGE=Korean TYPE="grade 2 2006" ;;
+       "ko-g1")        LANGUAGE=Korean TYPE="grade 1" ;;
+       "ko-g2")        LANGUAGE=Korean TYPE="grade 2" ;;
+       "kok")          LANGUAGE=Konkani TYPE="grade 1" ;;
+       "kru")          LANGUAGE=Kurukh TYPE="grade 1" ;;
+       "ks-in-g1")     LANGUAGE=Kashmiri TYPE="grade 1" ;;
+       "lt")           LANGUAGE=Lithuanian TYPE="grade 1" ;;
+       "lt-6dot")      LANGUAGE=Lithuanian TYPE="6 dots" ;;
+       "Lv-Lv-g1")     LANGUAGE=Latvian TYPE="grade 1" ;;
+       "mao-nz-g1")    LANGUAGE=Maori TYPE="grade 1" ;;
+       "marburg")      TYPE="Marburg maths" ;;
+       "marburg_edit") TYPE="Marburg maths post-translation editing" ;;
+       "ml-in-g1")     LANGUAGE=Malayalam TYPE="grade 1" ;;
+       "mn-in-g1")     LANGUAGE=Manipuri TYPE="grade 1" ;;
+       "mn-MN"|"mn-MN-g1")     LANGUAGE=Mongolian TYPE="grade 1" ;;
+       "mn-MN-g2")     LANGUAGE=Mongolian TYPE="grade 2" ;;
+       "mr-in-g1")     LANGUAGE=Marathi TYPE="grade 1" ;;
+       "mt")           LANGUAGE=Maltese TYPE="grade 1" ;;
+       "mun")          LANGUAGE=Munda TYPE="grade 1" ;;
+       "mwr")          LANGUAGE=Marwari TYPE="grade 1" ;;
+       "ne")           LANGUAGE=Nepali TYPE="grade 1" ;;
+       "nemeth")       TYPE="Nemeth Maths" ;;
+       "nemeth_edit")  TYPE="Nemeth Maths post-translation editing" ;;
+       "nl-BE-g0")     LANGUAGE=Dutch LOCATION=Belgium TYPE="grade 0" ;;
+       "nl-g0")        LANGUAGE=Dutch TYPE="grade 0" ;;
+       "nl-NL-g0")     LANGUAGE=Dutch LOCATION="Netherlands" TYPE="grade 0" ;;
+       "Nl-Nl-g1")     LANGUAGE=Dutch LOCATION=Netherlands TYPE="grade 1" ;;
+       "no-no-8dot-fallback-6dot-g0")  LANGUAGE=Norwegian TYPE="grade 0 8 dots 
fallback 6 dots" ;;
+       "no-no-8dot")   LANGUAGE=Norwegian TYPE="grade 0 8 dots" ;;
+       "no-no-comp8")  LANGUAGE=Norwegian TYPE="grade 0 computer" ;;
+       "no-no-g0")     LANGUAGE=Norwegian TYPE="grade 0" ;;
+       "no-no-g1")     LANGUAGE=Norwegian TYPE="grade 1" ;;
+       "no-no-g2")     LANGUAGE=Norwegian TYPE="grade 2" ;;
+       "no-no-g3")     LANGUAGE=Norwegian TYPE="grade 3" ;;
+       "no-no-generic")        LANGUAGE=Norwegian TYPE="generic" ;;
+       "np-in-g1")     LANGUAGE=Nepali TYPE="grade 1" ;;
+       "or-in-g1")     LANGUAGE=Oriya TYPE="grade 1" ;;
+       "pi")           LANGUAGE=Pali TYPE="grade 1" ;;
+       "pl-pl-comp8")  LANGUAGE=Polish TYPE="computer" ;;
+       "Pl-Pl-g1")     LANGUAGE=Polish TYPE="grade 1" ;;
+       "pt-pt-comp8")  LANGUAGE=Portuguese TYPE="computer" ;;
+       "pt-pt-g1")     LANGUAGE=Portuguese TYPE="grade 1" ;;
+       "pt-pt-g2")     LANGUAGE=Portuguese TYPE="grade 2" ;;
+       "pu-in-g1")     LANGUAGE=Punjabi TYPE="grade 1" ;;
+       "ro")           LANGUAGE=Romanian TYPE="grade 1" ;;
+       "ru-compbrl")   LANGUAGE=Russian TYPE="computer" ;;
+       "ru")           LANGUAGE=Russian TYPE="grade 1" ;;
+       "ru-litbrl")    LANGUAGE=Russian TYPE="literary" ;;
+       "ru-ru-g1")     LANGUAGE=Russian TYPE="grade 1" ;;
+       "sa-in-g1")     LANGUAGE=Sasnskrit TYPE="grade 1" ;;
+       "se-se")        LANGUAGE=Swedish TYPE="grade 1" ;;
+       "Se-Se-g1")     LANGUAGE=Swedish TYPE="grade 1" ;;
+       "si-in-g1")     LANGUAGE=Sindhi TYPE="grade 1" ;;
+       "sin")          LANGUAGE=Sinhala TYPE="grade 1" ;;
+       "sk-g1")        LANGUAGE=Slovak TYPE="grade 1" ;;
+       "sk-sk-g1")     LANGUAGE=Slovak TYPE="grade 1" ;;
+       "sk-sk")        LANGUAGE=Slovak TYPE="grade 1" ;;
+       "sl-si-comp8")  LANGUAGE=Slovenian TYPE="computer" ;;
+       "sl-si-g1")     LANGUAGE=Slovenian TYPE="grade 1" ;;
+       "sot-za-g1")    LANGUAGE=Sotho TYPE="grade 1" ;;
+       "spaces")       TYPE="Spaces" ;;
+       "sr-g1")        LANGUAGE=Serbian TYPE="grade 1" ;;
+       "sv-1989")      LANGUAGE=Swedish TYPE="1989" ;;
+       "sv-1996")      LANGUAGE=Swedish TYPE="1996" ;;
+       "ta")           LANGUAGE=Tamil TYPE="grade 1" ;;
+       "ta-ta-g1")     LANGUAGE=Tamil TYPE="grade 1" ;;
+       "te-in-g1")     LANGUAGE=Telugu TYPE="grade 1" ;;
+       "tr"|"tr-g1")   LANGUAGE=Turkish TYPE="grade 1" ;;
+       "tsn-za-g1")    LANGUAGE=Tswana TYPE="grade 1" ;;
+       "UEBC-g1")      LANGUAGE=English TYPE="Unified grade 1" ;;
+       "UEBC-g2")      LANGUAGE=English TYPE="Unified grade 2" ;;
+       "ukmaths")      TYPE="U.K maths" ;;
+       "ukmaths_edit") TYPE="U.K maths post-translation editing" ;;
+       "ur-pk-g1")     LANGUAGE=Urdu TYPE="grade 1" ;;
+       "ur-pk-g2")     LANGUAGE=Urdu TYPE="grade 2" ;;
+       "vi")           LANGUAGE=Vietnamese TYPE="grade 1" ;;
+       "vi-g1")        LANGUAGE=Vietnamese TYPE="grade 1" ;;
+       "wiskunde")     LANGUAGE=Flemish TYPE="grade 1" ;;
+       "zh-hk")        LANGUAGE=Chinese LOCATION="Hong Kong" TYPE="grade 1" ;;
+       "zh-tw")        LANGUAGE=Chinese LOCATION="Taiwan" TYPE="grade 1" ;;
+       "zh-chn")       LANGUAGE=Chinese LOCATION="China" TYPE="grade 1" ;;
+       *)              locale=$(grep ^#+locale: "$i" | cut -d ':' -f 2-)
+                       if [ -n "$locale" ]; then
+                         LANGUAGE="$locale"
+                       fi
+                       if [ $ext = ctb ]; then
+                         TYPE="contracted"
+                       else
+                         TYPE="computer"
+                       fi
+                       ;;
+      esac
+    fi
+    echo "$file:$LANGUAGE:$LOCATION:$TYPE:$DISPLAY_NAME"
   done
 
   for i in $TABLESDIR/hyph_*.dic
@@ -227,38 +254,37 @@
     LOCATION=""
     GRADE=""
     case $name in
-       brl_da_dk)      LANGUAGE=Danish ;;
-       cs_CZ)  LANGUAGE=Czech ;;
-       de_DE)  LANGUAGE=German ;;
-       en_US)  LANGUAGE=English ;;
-       eo)     LANGUAGE=Esperanto ;;
-       es_ES)  LANGUAGE=Spanish ;;
-       fr_FR)  LANGUAGE=French ;;
-       hu_HU)  LANGUAGE=Hungarian ;;
-       it_IT)  LANGUAGE=Italian ;;
-       nb_NO)  LANGUAGE="Norwegian Bokmål" ;;
-       nl_NL)  LANGUAGE=Dutch ;;
-       nn_NO)  LANGUAGE="Norwegian Nynorsk" ;;
-       pl_PL)  LANGUAGE=Polish ;;
-       pt_PT)  LANGUAGE=Portuguese ;;
-       ru)     LANGUAGE=Russian ;;
-       sv_SE)  LANGUAGE=Swedish ;;
+       brl_da_dk)      LANGUAGE=Danish ;;
+       cs_CZ)  LANGUAGE=Czech ;;
+       da_DK)  LANGUAGE=Danish ;;
+       de_DE)  LANGUAGE=German ;;
+       en_US)  LANGUAGE=English ;;
+       eo)     LANGUAGE=Esperanto ;;
+       es_ES)  LANGUAGE=Spanish ;;
+       fr_FR)  LANGUAGE=French ;;
+       hu_HU)  LANGUAGE=Hungarian ;;
+       it_IT)  LANGUAGE=Italian ;;
+       nb_NO)  LANGUAGE="Norwegian Bokmål" ;;
+       nl_NL)  LANGUAGE=Dutch ;;
+       nn_NO)  LANGUAGE="Norwegian Nynorsk" ;;
+       pl_PL)  LANGUAGE=Polish ;;
+       pt_PT)  LANGUAGE=Portuguese ;;
+       ru)     LANGUAGE=Russian ;;
+       sv_SE)  LANGUAGE=Swedish ;;
+       *)      LANGUAGE=$name ;;
     esac
-    echo "$file:$LANGUAGE:$LOCATION:hyphenation rules"
+    echo "$file:$LANGUAGE:$LOCATION:hyphenation rules:"
   done
 
-) | sort -t : -k 2,3 | (
+) | sort -f -t : -k 2,3 | (
 
 IFS=:
-while read file LANGUAGE LOCATION DESC
+while read file LANGUAGE LOCATION TYPE DISPLAY_NAME
 do
-       if [ -z "$DESC" ]
-       then
-         echo "empty description for $file!"
-         exit 1
-       fi
+       DESC="$TYPE ($file)"
        [ -n "$LOCATION" ] && DESC="$LOCATION $DESC"
        [ -n "$LANGUAGE" ] && DESC="$LANGUAGE $DESC"
+       [ -n "$DISPLAY_NAME" ] && DESC="$DISPLAY_NAME ($file)"
        echo "  Choice \"$file/$DESC\" \"\""
 done
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cups-filters-1.20.2/filter/gstoraster.c 
new/cups-filters-1.20.3/filter/gstoraster.c
--- old/cups-filters-1.20.2/filter/gstoraster.c 2018-02-07 23:08:42.000000000 
+0100
+++ new/cups-filters-1.20.3/filter/gstoraster.c 2018-04-04 18:28:10.000000000 
+0200
@@ -73,29 +73,15 @@
 parse_doc_type(FILE *fp)
 {
   char buf[5];
-  GsDocType doc_type;
-  char *rc;
 
   /* get the first few bytes of the file */
-  doc_type = GS_DOC_TYPE_UNKNOWN;
   rewind(fp);
-  rc = fgets(buf,sizeof(buf),fp);
-  if (rc == NULL)
-    goto out;
-
-  /* is PDF */
-  if (strncmp(buf,"%PDF",4) == 0) {
-    doc_type = GS_DOC_TYPE_PDF;
-    goto out;
-  }
-
-  /* is PS */
-  if (strncmp(buf,"%!",2) == 0) {
-    doc_type = GS_DOC_TYPE_PS;
-    goto out;
+/* skip until PDF/PS start header */
+ while (fgets(buf,sizeof(buf),fp) != 0) {
+   if (strncmp(buf,"%PDF",4) == 0) return GS_DOC_TYPE_PDF;
+   if (strncmp(buf,"%!",2) == 0) return GS_DOC_TYPE_PS;
   }
-out:
-  return doc_type;
+  return GS_DOC_TYPE_UNKNOWN;
 }
 
 static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cups-filters-1.20.2/utils/cups-browsed.c 
new/cups-filters-1.20.3/utils/cups-browsed.c
--- old/cups-filters-1.20.2/utils/cups-browsed.c        2018-03-31 
23:26:09.000000000 +0200
+++ new/cups-filters-1.20.3/utils/cups-browsed.c        2018-04-04 
18:28:10.000000000 +0200
@@ -5333,6 +5333,11 @@
     /* This is a remote CUPS queue or class */
     is_cups_queue = 1;
 #endif /* HAVE_AVAHI */
+  /* If we do not have a TXT record the printer was not discovered via
+     DNS-SD but via CUPS legacy or LDAP, so it is a remote CUPS queue
+     and not an IPP network printer. */
+  if (txt == NULL)
+    is_cups_queue = 1;
   if (is_cups_queue) {
     debug_printf("Found CUPS queue/class: %s on host %s.\n",
                 strchr(resource, '/') + 1, remote_host);


Reply via email to