cbucher / console

This is a modified version of Console 2 for a better experience under Windows Vista/7/8/10 and a better visual rendering.
https://github.com/cbucher/console/wiki
GNU General Public License v2.0
2.93k stars 231 forks source link

Allow to choose other monospaced fonts (e.g. Hack) #523

Closed hrosenbauer closed 5 years ago

hrosenbauer commented 5 years ago

Expected Behavior

Under the Settings->Appearance->Font the system-wide installed monospaced-font "Hack" is shown and selectable. Hack Font: https://sourcefoundry.org/hack/

Actual Behavior

The font "Hack" is not displayed - even if other applications list it as monotype font.

Steps to reproduce

  1. Install the Hack Font from https://sourcefoundry.org/hack/
  2. Open ConsoleZ
  3. Go to Settings->Appearance->Font
  4. Click "..." under Name to select a font
  5. Look through the list of offered fonts

Diagnostic Report

ConsoleZ aero amd64 1.19.0.19104
Windows 10 (64 bits) [10.0.18362]
is elevated? no
UAC prefix "Administrator: "
Tab (active): Cygwin
  View (active): Cygwin - /cygdrive/c/dev
  is elevated? no
  input code page 850
  output code page 850
  Windows console font
font index: 0
face name: Consolas
font familly: 54 MODERN vector true type
font weight: 400
font size: width=8 height=16
max window size: cols=212 rows=86
  ConsoleZ font
GetFontLanguageInfo returns 262144.
The font contains extra glyphs not normally accessible using the code page.

Monitors 2
+ Flags 0
  DeviceID \\?\DISPLAY#LEN40A9#4&ec370ba&0&UID265988#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
  DeviceKey \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0001
  DeviceName \\.\DISPLAY1\Monitor0
  DeviceString Wide viewing angle & High density FlexView Display 1920x1080
  StateFlags 3
  Rect (-1920,0)x(-384,864)
  Work (-1920,0)x(-384,824)
  DPI (per monitor: yes) X=96 Y=96
+ Flags 1  primary
  DeviceID \\?\DISPLAY#GSM76E4#4&ec370ba&0&UID224795#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
  DeviceKey \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0002
  DeviceName \\.\DISPLAY2\Monitor0
  DeviceString Generic PnP Monitor
  StateFlags 3
  Rect (0,0)x(3440,1440)
  Work (0,0)x(3440,1400)
  DPI (per monitor: yes) X=96 Y=96
System dpi 96
System metrics
  SM_CXSMICON        16
  SM_CYSMICON        16
  SM_CXICON          32
  SM_CYICON          32
  SM_CXVIRTUALSCREEN 5360
  SM_CYVIRTUALSCREEN 1440
  SM_CYVIRTUALSCREEN 1440
Settings file C:\tools\ConsoleZ\console.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<settings lang="auto" icon_size="0">
    <console shell="C:\tools\cygwin64\bin\bash.exe" init_dir="C:\dev" refresh="100" change_refresh="10" rows="25" columns="80" buffer_rows="500" buffer_columns="0" start_hidden="0" save_size="0">
        <colors background_text_opacity="255">
            <color id="0" r="7" g="54" b="66"/>
            <color id="1" r="38" g="139" b="210"/>
            <color id="2" r="133" g="153" b="0"/>
            <color id="3" r="42" g="161" b="152"/>
            <color id="4" r="220" g="50" b="47"/>
            <color id="5" r="108" g="113" b="196"/>
            <color id="6" r="203" g="75" b="22"/>
            <color id="7" r="131" g="148" b="150"/>
            <color id="8" r="147" g="161" b="161"/>
            <color id="9" r="38" g="139" b="210"/>
            <color id="10" r="133" g="153" b="0"/>
            <color id="11" r="42" g="161" b="152"/>
            <color id="12" r="220" g="50" b="47"/>
            <color id="13" r="211" g="54" b="130"/>
            <color id="14" r="181" g="137" b="0"/>
            <color id="15" r="211" g="54" b="130"/>
        </colors>
        <cursor style="0" r="255" g="255" b="255"/>
        <background type="0" r="0" g="0" b="0">
            <image file="" relative="0" extend="0" position="0">
                <tint opacity="0" r="0" g="0" b="0"/></image></background></console>
    <appearance>
        <font name="Lucida Console" size="10" extra_width="0" bold="0" italic="0" smoothing="1" bold_intensified="0" italic_intensified="0" ligature="0">
            <color use="0" r="0" g="0" b="0"/></font>
        <window title="" icon="" main_title_format="?U([%u] )?N({%u} )%m?s( - %s)" tab_title_format="%t?s( - %s)" use_tab_icon="1" use_tab_title="1" trim_tab_titles="20" trim_tab_titles_right="0"/>
        <fullscreen start_in_fullscreen="0" fullscreen_monitor="0">
            <controls show_menu="1" show_toolbar="1" show_searchbar="1" show_statusbar="1" show_tabs="1" hide_single_tab="1" tabs_on_bottom="0" hide_tab_icons="0" hide_tab_close_button="0" hide_tab_new_button="0" show_scrollbars="1"/>
            <transparency type="0" active_alpha="255" inactive_alpha="255" r="0" g="0" b="0" active="1"/></fullscreen>
        <controls show_menu="0" show_toolbar="0" show_searchbar="0" show_statusbar="0" show_tabs="1" hide_single_tab="1" tabs_on_bottom="1" hide_tab_icons="1" hide_tab_close_button="1" hide_tab_new_button="1" show_scrollbars="1"/>
        <styles caption="1" resizable="1" taskbar_button="1" border="1" inside_border="2" split_bar_size="0" tray_icon="0" quake_like="0" quake_animation_time="300" jumplist="0" integrated_ime="0" hide_when_inactive="0" per_monitor_dpi="0" keep_view_theme="0">
            <selection_color r="255" g="255" b="255"/>
            <highlight_color r="191" g="191" b="191"/></styles>
        <position x="1713" y="0" save_position="1" w="1734" h="1407" save_size="1" z_order="0" dock="-1" snap="-1" save_state="0" state="-1"/>
        <transparency type="0" active_alpha="255" inactive_alpha="255" r="0" g="0" b="0" active="0"/></appearance>
    <behavior>
        <copy_paste copy_on_select="1" clear_on_copy="1" sensitive_copy="1" no_wrap="1" eol_spaces="1" trim_spaces="1" rtf="1" copy_newline_char="0" include_left_delimiter="0" include_right_delimiter="0" left_delimiters=" ([" right_delimiters=" )]"/>
        <scroll page_scroll_rows="0"/>
        <tab_highlight flashes="3" stay_highligted="1"/>
        <environment inherit="1" sync="1"/>
        <focus follow_mouse="0"/>
        <instance allow_multi="1"/>
        <clone use_current_dir="0"/>
        <search match_case="0" match_whole_word="0"/>
        <runas use_credprov="1"/>
        <close allow_closing_last_view="0" exit_on_closing_of_last_tab="1" confirm_closing_multiple_views="1" save_workspace_on_exit="0"/></behavior>
    <hotkeys use_scroll_lock="1">
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="83" command="settings"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="112" command="help"/>
        <hotkey ctrl="0" shift="0" alt="1" extended="0" code="115" command="exit"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="84" command="newtab1"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="113" command="newtab2"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="114" command="newtab3"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="115" command="newtab4"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="116" command="newtab5"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="117" command="newtab6"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="118" command="newtab7"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="119" command="newtab8"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="120" command="newtab9"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="121" command="newtab10"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="122" command="newtab11"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="123" command="newtab12"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="49" command="switchtab1"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="50" command="switchtab2"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="51" command="switchtab3"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="52" command="switchtab4"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="53" command="switchtab5"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="54" command="switchtab6"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="55" command="switchtab7"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="56" command="switchtab8"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="57" command="switchtab9"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="48" command="switchtab10"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="9" command="nexttab"/>
        <hotkey ctrl="1" shift="1" alt="0" extended="0" code="9" command="prevtab"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="movetableft"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="movetabright"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="87" command="closetab"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="renametab"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="clonetab"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="1" code="34" command="nextview"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="1" code="33" command="prevview"/>
        <hotkey ctrl="0" shift="0" alt="1" extended="1" code="37" command="leftview"/>
        <hotkey ctrl="0" shift="0" alt="1" extended="1" code="39" command="rightview"/>
        <hotkey ctrl="0" shift="0" alt="1" extended="1" code="38" command="topview"/>
        <hotkey ctrl="0" shift="0" alt="1" extended="1" code="40" command="bottomview"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="dechsize"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="inchsize"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="decvsize"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="incvsize"/>
        <hotkey ctrl="1" shift="1" alt="0" extended="0" code="87" command="closeview"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="detachview"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="maximizeview"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="restoreview"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="attach"/>
        <hotkey ctrl="1" shift="1" alt="0" extended="0" code="79" command="splithoriz"/>
        <hotkey ctrl="1" shift="1" alt="0" extended="0" code="69" command="splitvert"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="splitswap"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="clone"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="moveinnewtab"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="122" command="fullscreen"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="96" command="zoom100"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="107" command="zoominc"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="109" command="zoomdec"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="71" command="groupall"/>
        <hotkey ctrl="1" shift="1" alt="0" extended="0" code="71" command="ungroupall"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="grouptab"/>
        <hotkey ctrl="1" shift="1" alt="0" extended="0" code="84" command="ungrouptab"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="clear"/>
        <hotkey ctrl="1" shift="1" alt="0" extended="0" code="67" command="copy"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="65" command="selectall"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="1" code="46" command="clear_selection"/>
        <hotkey ctrl="1" shift="0" alt="0" extended="0" code="86" command="paste"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="paste_selection"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="stopscroll"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="resumescroll"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textselleft"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textselright"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textseltop"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textselbottom"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textselhome"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textselend"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textselpageup"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textselpagedown"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colselleft"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colselright"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colseltop"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colselbottom"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colselhome"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colselend"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colselpageup"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colselpagedown"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollrowup"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollrowdown"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollpageup"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollpagedown"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollcolleft"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollcolright"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollpageleft"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollpageright"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="find"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="findnext"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="findprev"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="switchtransparency"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="alwaysontop"/>
        <hotkey ctrl="1" shift="1" alt="0" extended="0" code="112" command="dumpbuffer"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="cmdMenu1"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="cmdMenu2"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="cmdMenu3"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="cmdSnippets"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="ctrlC"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="wspload"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="wspsave"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="fwdmouse"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd1"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd2"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd3"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd4"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd5"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd6"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd7"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd8"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd9"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd10"/>
        <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="activate" win="0"/>
    </hotkeys>
    <external_commands>
    </external_commands>
    <mouse>
        <actions>
            <action ctrl="0" shift="0" alt="0" button="1" name="copy"/>
            <action ctrl="0" shift="1" alt="0" button="1" name="select"/>
            <action ctrl="0" shift="0" alt="0" button="0" name="select_column"/>
            <action ctrl="0" shift="0" alt="0" button="3" name="paste"/>
            <action ctrl="1" shift="0" alt="0" button="1" name="drag"/>
            <action ctrl="0" shift="0" alt="0" button="4" name="link"/>
            <action ctrl="0" shift="0" alt="0" button="2" name="menu"/>
            <action ctrl="0" shift="0" alt="0" button="0" name="menu2"/>
            <action ctrl="0" shift="0" alt="0" button="0" name="menu3"/>
            <action ctrl="0" shift="0" alt="0" button="0" name="snippets"/>
        </actions></mouse>
    <snippets dir=""/>
    <tabs>
        <tab title="Cygwin" icon="C:\tools\cygwin64\Cygwin.ico" use_default_icon="0">
            <console shell="C:\tools\cygwin64\bin\bash.exe --login -i -c 'cd /cygdrive/c/dev; exec bash'" init_dir="C:\dev" priority="2" run_as_user="0" user="" net_only="0" run_as_admin="0"/>
            <cursor style="0" r="88" g="110" b="117"/>
            <background type="0" r="0" g="43" b="54">
                <image file="" relative="0" extend="0" position="0">
                    <tint opacity="0" r="0" g="0" b="0"/>
                </image>
            </background>
        </tab>
    </tabs></settings>

Crash Report

cbucher commented 5 years ago

I just downloaded the zip from https://sourcefoundry.org/hack/ and dropped fonts into c:\windows\fonts. And I can see Hack monospaced fonts. image

The font selection dialog is a Windows control. If your font is a real monospaced font and correctly installed, it will be listed.

Rarst commented 4 years ago

Having same issue trying JetBrains Mono https://www.jetbrains.com/lp/mono/ at the moment.

Can I suggest that monospace fonts filter is made optional ? That seems to be a common pattern for this.

I get that specific font might be "at fault" for not having a respective flag or something, but why punish user for that. :)