grub2 can no longer show chinese characters

Bug #352034 reported by Mario Limonciello
6
Affects Status Importance Assigned to Milestone
grub2 (Ubuntu)
Fix Released
Undecided
Steve Langasek

Bug Description

Binary package hint: grub2

During the Ubuntu 9.04 development cycle, grub2 stopped showing chinese characters. The last version that was known to work was the intrepid version ( 1.96+20080512-1ubuntu2). Things broke at the next jaunty version ( 1.96+20080724-12ubuntu1).

Matter of fact, downgrading to the deb that was shipped on Intrepid causes the chinese characters to show up again using the same config.

Attached is the config failing to show chinese characters with this version of grub2.

Related branches

Revision history for this message
Mario Limonciello (superm1) wrote :
Changed in dell:
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Colin Watson (cjwatson) wrote :

2008-07-23 Robert Millan <email address hidden>

        * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
        define the codes for arrows and lines used for the menu).
        (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
        as well.

        * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
        fonts, because the latter are too slow.

Try setting GRUB_FONT_PATH=/usr/share/grub/unicode.pff towards the top of /etc/grub.d/00_header, after update-grub_lib is sourced.

Revision history for this message
Mario Limonciello (superm1) wrote : Re: [Bug 352034] Re: grub2 can no longer show chinese characters

Yeah that appears to make things work again. Reading through the
comments, they switched because this made grub faster and they don't
have proper gettext support (you have to provide the pre-translated
strings in unicdoe like we do).
Makes a lot of sense; 4.9K for covering ascii vs 2.5M for covering unicode.

Colin Watson wrote:
> 2008-07-23 Robert Millan <email address hidden>
>
> * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
> define the codes for arrows and lines used for the menu).
> (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
> as well.
>
> * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
> fonts, because the latter are too slow.
>
> Try setting GRUB_FONT_PATH=/usr/share/grub/unicode.pff towards the top
> of /etc/grub.d/00_header, after update-grub_lib is sourced.
>
>

--
Mario Limonciello
*Dell | Linux Engineering*
<email address hidden>

Revision history for this message
Mario Limonciello (superm1) wrote :

As there would probably be opposition to switching to unicode across the board as a delta in the Ubuntu package until gettext support is ready, to close the dell task, for our chinese installs we can include a file to use unicode. it appears that grub2 will use the last mentioned font in grub.cfg, so the attached file solves it.

Changed in dell:
status: Confirmed → Fix Released
Revision history for this message
Mario Limonciello (superm1) wrote :
Steve Langasek (vorlon)
Changed in grub2:
assignee: nobody → vorlon
Revision history for this message
Felix Zielcke (fzielcke) wrote :

I changed it now upstream to prefer again unicode.pf2 over ascii.pf2.
Now unicode font isn't (much) slower then the ascii one.
And I also added a method to specifiy a custom font with GRUB_FONT=/usr/share/grub/unicode.pf2

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (5.3 KiB)

This bug was fixed in the package grub2 - 1.96+20090826-3ubuntu1

---------------
grub2 (1.96+20090826-3ubuntu1) karmic; urgency=low

  * Resynchronise with Debian (LP: #413151). Remaining changes:
    + debian/control:
      - Recommend rather than Suggest os-prober.
    + debian/default/grub:
      - Adjust for default Ubuntu boot options.
      - Use GRUB_CMDLINE_LINUX_DEFAULT option to set "quiet splash" for
        default items only. These options won't be set in single user mode.
      - Default to hiding the menu with a three-second timeout. Pressing
        Escape during this time will show the menu.
    + debian/grub.d/05_debian_theme:
      - Set a monochromatic theme for Ubuntu.
    + debian/legacy/update-grub:
      - Apply Ubuntu branding: title, recovery mode, quiet option, and tweak
        how memtest86+ is displayed.
      - Use UUIDs where appropriate.
    + debian/patches/03_ubuntu_grub_standards:
      - Remove GNU/Linux from default string.
    + debian/patches/10_crashkernel.patch:
      - add crashkernel= options if kdump and makedumpfile
        is available (part of the kernel-crashdump spec)
  * Drop 950_hidden_timeout.diff, merged upstream.
  * Drop 951_gfxpayload_keep.diff. It doesn't make as much sense as I
    thought, and it needs better kernel support anyway.
  * 950_getkeystatus.diff: New patch. Add getkeystatus terminal method, and
    add a new keystatus command to query it.
  * 951_quick_boot.diff: New patch:
    - If other operating systems are installed, then automatically unhide
      the menu (LP: #411584).
    - Otherwise, if GRUB_HIDDEN_TIMEOUT is 0, then use keystatus if
      available to check whether Shift is pressed. If it is, show the menu,
      otherwise boot immediately. If keystatus is not available, then fall
      back to a short delay interruptible with Escape.
  * debian/default/grub: Adjust defaults to match new quick-boot code.

grub2 (1.96+20090826-3) unstable; urgency=low

  * Add missing quotes in grub-pc.config and *.postinst.

grub2 (1.96+20090826-2) unstable; urgency=low

  * Really use the correct templates in grub-pc.config. ARGS.

grub2 (1.96+20090826-1) unstable; urgency=low

  * New SVN snapshot.

  * Use the right templates in grub-pc.config. (Closes: #543615)

grub2 (1.96+20090825-1) unstable; urgency=low

  * New SVN snapshot.
    - Enable gfxterm only if there's a suitable video backend and don't
      print an error if not. (Closes: #520846)

  [ Felix Zielcke ]
  * Copy unicode.pf2 instead of ascii.pf2 to /boot/grub in grub-pc
    postinst (Closes: #542314).
  * Update Standards version to 3.8.3.
  * Use DEB_HOST_ARCH_CPU for the generation of the lintian overrides.
  * Fix calling the grub-pc/postrm_purge_boot_grub template in
    grub-pc.postinst.
  * Handle GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT via
    debconf. Thanks to Martin F. Krafft and Colin Watson for idea and
    hints.
  * Use ucfr --force when /etc/default/grub is registered to a grub-* package.
  * Use #!/bin/sh in *.config and fix a small bashism in grub-pc.config.

  [ Robert Millan ]
  * patches/907_terminal_output_workaround.diff: Remove. It seems that
    it wasn't really necessary.
  ...

Read more...

Changed in grub2 (Ubuntu):
status: New → Fix Released
Changed in somerville:
importance: Undecided → High
status: New → Fix Released
no longer affects: dell
Revision history for this message
Timothy R. Chavez (timrchavez) wrote :

The bug task for the somerville project has been removed by an automated script. This bug has been cloned on that project and is available here: https://bugs.launchpad.net/bugs/1306066

no longer affects: somerville
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.