Skip to content

FIX BrailleConverter: semicolon mapped to the wrong braille cell - #2278

Merged
romanlutz merged 1 commit into
microsoft:mainfrom
WatchTree-19:fix-braille-semicolon
Jul 28, 2026
Merged

FIX BrailleConverter: semicolon mapped to the wrong braille cell#2278
romanlutz merged 1 commit into
microsoft:mainfrom
WatchTree-19:fix-braille-semicolon

Conversation

@WatchTree-19

Copy link
Copy Markdown
Contributor

Description

The BrailleConverter character map encodes the semicolon as (dots 5,6). That cell is the letter-sign / grade-1 indicator, not a semicolon. English Braille — and UEB, and the French and German codes — all encode the semicolon as dots 2,3 = ().

Every other punctuation mark in the same map already follows the standard:

char current cell dots correct?
, 2
: 2,5
. 2,5,6
! 2,3,5
? 2,3,6
; 5,6 ✗ should be 2,3 ()

So this is an isolated transcription error, not a code-variant choice. Effect: any ; in a prompt was converted to the wrong braille character (the reader sees a grade-1 indicator instead of a semicolon).

Fix

One-character map correction, ;.

Tests

The existing braille tests only assert the output is non-empty, so the wrong cell passed unnoticed. Added test_braille_converter_punctuation_cells, which pins the exact braille cell for each punctuation mark. It fails on the old value:

AssertionError: ';' -> '⠰' (U+2830), expected '⠆' (U+2806)

and passes after the fix. Full braille suite: 10 passed. ruff check and ruff format --check clean.

The semicolon was mapped to U+2830 (dots 5,6), which is the letter-sign /
grade-1 indicator cell, not a semicolon. English Braille (and UEB, and the
French and German codes) all encode the semicolon as dots 2,3 = U+2806. Every
other punctuation mark in the map already follows that standard (comma dot 2,
colon dots 2,5, period dots 2,5,6, etc.), so this was an isolated
transcription error rather than a code-variant choice.

Effect: any ';' in a prompt was converted to the wrong braille character.

The existing braille tests only assert the output is non-empty, so the wrong
cell passed unnoticed. Added test_braille_converter_punctuation_cells, which
pins the exact cell for each punctuation mark; it fails on the old value
(';' -> U+2830) and passes on U+2806.

@romanlutz romanlutz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@romanlutz

Copy link
Copy Markdown
Contributor

@WatchTree-19 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@microsoft-github-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@microsoft-github-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@WatchTree-19 you need to accept the CLA if you want the contribution to get merged. Please check the terms to see if you agree.

@WatchTree-19

Copy link
Copy Markdown
Contributor Author

@microsoft-github-policy-service agree

@romanlutz
romanlutz added this pull request to the merge queue Jul 28, 2026
Merged via the queue into microsoft:main with commit 1f37a59 Jul 28, 2026
54 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants