Add support for "Unicode Music Symbols" to Renoise's default font

Viewing the Unicode musical symbols table of contents from the following link…

Would it be possible for the API to also support this musical figure symbology?

1 Like

We’re using the OpenSource dejavu font in Renoise

It would be possible to patch those glyphs from some other similar font into this font, but unfortunately I don’t have the time to do that. But if someone else does so, I can add the updated fonts into Renoise.

I’ve added this question to the general discussion here:

Let’s see if anyone is willing to support this.

I posted your post in chatgpt;

To patch musical symbols from another font into the DejaVu font used by Renoise and enable their use in Renoise's GUI and Lua tools, here’s an outline of the process:

Step 1: Set Up Tools
You’ll need font editing software that supports Unicode manipulation and merging fonts:

Free Options:
FontForge: Open-source and widely used for font editing.
Commercial Options:
Glyphs or FontLab: More polished interfaces with advanced features.
Step 2: Identify Musical Glyphs to Patch
Browse the Unicode Musical Symbols block (U+1D100–U+1D1FF) on Wikipedia or the Unicode Consortium PDF here.
Locate a compatible font that contains these symbols, such as:
Bravura (SMuFL-compliant)
Euterpe
Symbola
Step 3: Extract and Merge Glyphs
Open DejaVu Font in FontForge:

Find DejaVuSans.ttf or the specific Renoise font file in:
makefile
Code kopiëren
C:\Program Files\Renoise 3.x.x\Resources\Skin\Fonts
Back up the original font file before modifying.
Open the Source Font:

Load the font containing the musical symbols (e.g., Bravura).
Copy and Paste Glyphs:

Identify the musical symbols in the source font.
Copy these glyphs into the desired Unicode slots (U+1D100 and beyond) in the DejaVu font.
Ensure that no existing glyphs in the DejaVu font are overwritten accidentally.
Adjust Metrics:

Resize and align the glyphs to match the style of DejaVu (e.g., stroke weight, size, spacing).
Step 4: Save and Test
Save the Modified Font:

Save the modified font as a new .ttf file.
Replace in Renoise:

Replace the original font in the Renoise directory with your modified font.
Ensure Renoise is closed while making changes.
Test Display:

Restart Renoise and check if the new glyphs are available in text fields or scripts.
Step 5: Implement in Renoise API
If Renoise supports Unicode in its API:

Use the Unicode values (e.g., \u1D11E for the G Clef) in Lua scripts.
Create tools that utilize these symbols dynamically.
Notes and Considerations
Licensing: Ensure the fonts you use for patching allow redistribution or modification.
Stylistic Consistency: If Renoise developers officially integrate these changes, they may refine the visual style to match Renoise's design.
Future Integration: Share your results in the Renoise forum or GitHub repository for consideration in future builds.
Would you like detailed guidance on using FontForge to accomplish this?

I had made a similar query to ChatGPT, blessed AI:

To patch the DejaVu font with musical symbols from another similar font, you’ll need to create a new font file that combines both glyph sets. This process involves editing the font and assigning the correct Unicode code points to the corresponding musical symbols. Here's a step-by-step guide:
Steps to Patch the Glyphs:
1. Identify the Musical Symbols in Unicode

    The musical symbols you're referring to are in the Unicode block Musical Symbols (U+1D100 to U+1D1FF). You can see a full list of these symbols on the Wikipedia page you mentioned, or on the Unicode chart.

    Make sure you have the musical symbols you want to use from another font (e.g., a font that includes these musical symbols).

2. Required Tools

To modify a font like DejaVu and add glyphs from another font, you can use font editing tools. Some of the most common tools are:

  1. FontForge (free and open-source)
  2. Glyphs (for macOS)
  3. FontLab (advanced, but paid)

For this case, we’ll use FontForge, as it’s free and fairly powerful for these kinds of tasks.
3. Download and Prepare the DejaVu Font

    First, download the DejaVu font from its GitHub repository: `https://github.com/dejavu-fonts/dejavu-fonts`.
    DejaVu has several styles, so make sure you work with the correct variant (e.g., "DejaVu Sans").

4. Open the Font in FontForge

    Open FontForge and load the DejaVu font into the tool (File -> Open).

5. Add the Musical Glyphs

    Once the font is loaded into FontForge, you’ll need to locate the Unicode code points where the musical glyphs should go. These glyphs fall into the range U+1D100 to U+1D1FF, as you mentioned.

    Identify the Unicode positions: Search for the corresponding positions in FontForge’s character map. If there are no existing glyphs in those positions in the DejaVu font, you'll need to add them.

    Copy the Musical Glyphs from the Other Font:
        Open the font that contains the musical symbols you want to use.
        Copy the musical glyphs from that font and paste them into the corresponding positions in the DejaVu font in FontForge.

    Ensure the Glyphs Are Compatible: The imported glyphs may have different metrics, sizes, or styles. You’ll need to adjust their size, position, and other properties to make sure they fit properly with the DejaVu font.

6. Verify and Adjust

    Once the glyphs are copied, check that they align properly with the other glyphs in DejaVu. If necessary, adjust the metrics for the glyphs to make them fit well with the font (such as kerning, line height, etc.).

7. Save the Patched Font

    Once you’ve added the musical glyphs, save the modified font in the format you prefer (e.g., .ttf or .otf).

8. Install the Patched Font

    Install the modified font on your operating system like any other font. On most systems, you just need to copy it to the appropriate font folder.

    On Windows, the folder is usually C:\Windows\Fonts, and on macOS, it’s /Library/Fonts or ~/Library/Fonts.

9. Test the Glyphs in Applications

    Finally, open an application like a text editor, vector graphic editor (e.g., Inkscape), or music notation software, and verify that the new musical glyphs display correctly.

Alternative: Create a "Subset" Font

If you don’t want to modify the entire DejaVu font, you can create a "subset" of the DejaVu font that includes only the characters that already contain the musical glyphs and the new glyphs from the alternative font. This is useful if you want the font file to be smaller.
Additional Recommendation:

If the musical glyphs in the alternative font aren’t in the proper format, you might need additional tools to convert or modify them, such as Inkscape or Glyphs to edit the contours of the glyphs before importing them into FontForge.
Summary

  1. Download and install FontForge.
  2. Open the DejaVu font in FontForge and locate the Unicode positions for the musical glyphs.
  3. Copy the musical glyphs from the other font into the corresponding positions in DejaVu.
  4. Adjust the size and metrics of the glyphs if needed.
  5. Save the font and reinstall it.
  6. Verify that the musical glyphs display correctly on your system.

With these steps, you should be able to integrate the musical glyphs into the DejaVu font and use them as part of your musical typography set!

Let’s see if anyone is willing to experiment with these things. I don’t have much time lately, but if I could I would try it myself…

On Windows the fonts are installed here:
C:\Program Files\Renoise 3.4.4\Resources\Skin\Fonts
imagen
With the Renoise session closed, it is possible to modify the fonts to test them. The intention is to be able to use the same fonts but also to include the new glyphs, all those related to music theory.

@Jonas, It seems that the description matches. I guess the work is in copying all the glyphs one by one and adapting them to all the necessary font styles…

  • As I see, there are 4 files that must be compiled in TTF format.

  • To download the free software FontForge: Download FontForge