Comments (5)
I have modified the EDID report output to replace any character having value 127 with the string "", where HH is the hex value of the character.
from ddcutil.
I should add that if edid text fields are always suppose to decode to ASCII and not UTF-8, perhaps any invalid ASCII characters could just be filtered out or replaced.
from ddcutil.
As per the VESA ENHANCED EXTENDED DISPLAY IDENTIFICATION DATA STANDARD (Defines EDID Structure Version 1, Revision 4) Release A, Revision 2 September 25, 2006 the contents of Alphanumeric Data String Descriptor Definition (tag #FE), which ddcutil refers to as the Extra Descriptor, consists of ASCII characters. This is also documented as code page 437 in the EDID Display Descriptors section of the Wikipedia EDID page.
This descriptor is reported in the EDID summary for purely informational purposes. Usually it is blank. If we are occasionally seeing non-ASCII characters in the string, the simplest solution woud be to simply not report the field.
from ddcutil.
Further, slightly more awake comments. What the EDID spec considers as ASCII is defined in its Appendix E - ASCII Reference Tables. Table ASCII-II, which defines code points x80..xFF, indeed appears to be identical to Microsoft Code Page 437, as stated in the Wikipedia spec. In that table, x80 is defined as C-Cedilla. The string in question is not UTF-8 encoded. x80 would only appear as the 2nd, 3rd or 4th byte of a multi-byte character encoding. In ISO 8859-1, x80 is undefined and in a range reserved for control characters.
In any event, the x80 is probably just someone's sloppiness or an attempt at a clever encoding that only their software understood. ddcutil could emit a character sequence such as "" for characters in the range x80..xFF, but as I noted for our purposes the Extra Descriptor is just a curiosity and not worth a lot off effort. On the other hand, if a character in the range x80..xFF appeared in a model name or serial number that would be problematic.
As it happens, there was a time I swam in the character encoding swamp. I attended several of the early Unicode Technical Committee meetings on behalf of the Research Libraries Group for which I did work at the time. Their cross-library database allowed for cataloging materials using most of the world's scripts (Latin, Cerillic, Hebrew, Arabic, Chinese, Japanese, and Korean, IIRC). The notable exception was Devanagari.
from ddcutil.
Because I've dealt with this in vdu_controls
, I don't have any issues with what the ddcutil
command produces.
For ddcutil-dbus-server
I'm currently filtering text fields to remove bad UTF-8, but I will simplify that to filter non-printable ASCII.
As it happens, there was a time I swam in the character encoding swamp. I attended several of the early Unicode Technical Committee meetings on behalf of the Research Libraries Group for which I did work at the time. Their cross-library database allowed for cataloging materials using most of the world's scripts (Latin, Cerillic, Hebrew, Arabic, Chinese, Japanese, and Korean, IIRC). The notable exception was Devanagari.
Down here in NZ, many of my clients had not even progressed beyond uppercase EBCDIC/ASCII.
from ddcutil.
Related Issues (20)
- Second display not recognized in MST/daisy-chain setup using Dell U2723QE HOT 7
- ddcutil 2.0.0
- Why is the 0x37 address missing from my computer? HOT 8
- Error messages/warnings are printed to stdout HOT 7
- Samsung LS32A70 port mapping errata with workarounds for 'Notes on specific monitors' HOT 1
- Simplest code triggers assertion failure HOT 9
- Experimental option --skip-ddc-checks
- changing monitor color mode HOT 1
- dccutil 2.0 regression, sporadic errors (Display not found, unsupported feature code) HOT 27
- ddcutil 2.0.0, strange warnings (Feature 0xXX should not exist) HOT 5
- Koorui 27E3Q: detection works, setting brightness also works but changes aren't physically reflected HOT 2
- ddca_get_any_vcp_value_using_implicit_type() incorrect order of arguments passed to ddca_get_any_vcp_value_using_explicit_type() HOT 5
- Invalid display with eDP laptop when running `ddcutil detect` HOT 1
- ubsan int overflow HOT 2
- stack overflow in query_proc_modules_for_video leading to segfault HOT 5
- With "--enable-usb=no", compile error: ‘ignored_vid_pid’ undeclared HOT 1
- The brightness is always set to 0 when executing `setvcp` on Rpi5 Bookworm HOT 1
- Samsung U32J59x only works on DisplayPort HOT 6
- ddcutil 2.0 regression. (Invalid Display. DDC communication failed. causes: EIO / ETIMEDOUT). works in 1.4.1-1 HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ddcutil.