Mark Davis (Unicode)
13 September 1952
|Alma mater||Stanford University|
|Occupation||Software Architect, Internationalization|
He is one of the key technical contributors to the Unicode specifications, being the primary author or co-author of Bi-directional Algorithm (used worldwide to display Arabic and Hebrew text), Collation (used for sorting and searching), Normalization, Scripts, Text segmentation, Identifiers, Regular Expressions, Compression, Character Conversion, and Security.
Davis has specialized in internationalization and text software for many years. After getting his Ph.D. in Philosophy from Stanford University, he worked in Switzerland for several years, then returned to California to join Apple, where he co-authored the Macintosh KanjiTalk and Script Manager, and authored the Macintosh Arabic and Hebrew systems. He also worked on parts of the Mac OS, including contributions to the design of TrueType. Later, he was the manager and architect for the Taligent international frameworks, and was then the architect for a large part of the Java international libraries. At IBM, he was the Chief Software Globalization Architect. He is the author of a number of patents, primarily in internationalization. At various times he has also managed groups or departments covering text, internationalization, operating system services, porting, and technical communications.
Davis founded and was responsible for the overall architecture of ICU (a major Unicode software internationalization library), and designed the core of the Java internationalization classes. He also is the vice-chair of the Unicode CLDR project, and is a co-author of BCP 47 "Tags for Identifying Languages" (RFC 4646 and RFC 5646), used for identifying languages in XML and HTML documents.
Since the start of 2006, Davis has been working on software internationalization at Google, focusing on effective and secure use of Unicode (especially in the index and search pipeline), overall improvement and adoption of the software internationalization libraries (including ICU), and the introduction and maintenance of stable identifiers for languages, scripts, regions, timezones, and currencies.