Test ran at 2025-09-10 01:14:35.093518+00:00 SOLUTION: universal_text_file=20220720.0.0: Proposed universal format for Unicode text files Origin: commit d58797dfdf1818ac064eba99e999bb8cc453d389 from https://github.com/bracke/Universal-Text-File.git Properties: Author: Jeff Carter Build Switches: Description: Proposed universal format for Unicode text files License: BSD-3-Clause Long_Description: # Universal Text File Format Proposed universal format for Unicode text files Here I propose a universal format for Unicode text files, specified by its Ada implementation. Some features of the format are * ASCII code points are encoded as themselves * At most three bytes are used to encode a code point * All code points may occur in a line * Lines may be any length (though the implementation is limited to Integer'Last) I have called this format Universal Text File format, with the acronym UTF. Like GNAT Programming Studio (GPS), this result is an acronym collision. Suggestions for alternative names are welcome. ## Combined Specification and Ada Implementation The format is specified here by its Ada implementation in package UTF, which is short and straightforward. ## Tools Three simple tools are provided: * To_UTF, to convert an Ada.Text_IO file to UTF * From_UTF, to convert a UTF file into an Ada.Text_IO file * Umore, a simple `more` program for UTF files ## Suitability Most tools for processing text files on the major platforms work with native text files from other platforms, and UTF-8 has been widely adopted for encoding Unicode text files, so it seems unlikely that an alternative will gain much traction. However, having done this, I thought I would share it should anyone be interested. ## Standard Software-Engineering Practice Encodings should normally only be used externally to a program. Encoded input data should be decoded immediately upon input, and output data encoded immediatly before output. Maintainer: Bent Bracke Maintainers_Logins: bracke Name: universal_text_file Tag: format Tag: unicode Tag: text Version: 20220720 Website: https://github.com/bracke/Universal-Text-File Dependencies (direct): gnat<13.0 | >=13.3 Dependencies (solution): gnat=15.2.1 (gnat_external) Dependencies (graph): universal_text_file=20220720.0.0 --> gnat=15.2.1 (gnat_external) (<13.0 | >=13.3) LOG: [alr test] Testing universal_text_file=20220720.0.0 [alr test] Spawning retrieval for remote crate: alr -d -n get universal_text_file=20220720.0.0 Note: Deploying universal_text_file=20220720.0.0... universal_text_file=20220720.0.0 successfully retrieved. Dependencies were solved as follows: +b gnat 15.2.1 (new,gnat_external,executable in path) [alr test] Spawning default test for remote crate: alr -d -n build --release -- -cargs:Ada -gnatwn Note: Alire has selected automatically this toolchain: gprbuild=25.0.1 gnat_native=15.2.1 You can select a different toolchain at any time with `alr toolchain --select` Download will start now: Note: Deploying gprbuild=25.0.1... #=#=# ################################ 45.0% ########################################################### 82.1% ######################################################################## 100.0% Note: gprbuild=25.0.1 installed successfully. Note: Deploying gnat_native=15.2.1... #=#=# 0.9% ###### 8.8% ########### 16.3% ################# 24.7% ####################### 33.0% ######################## 34.5% ########################## 36.2% ############################### 43.7% #################################### 50.4% ######################################### 57.3% ############################################## 65.3% ################################################### 71.2% #################################################### 72.6% ##################################################### 74.1% ######################################################### 79.7% ############################################################ 84.1% ################################################################ 89.9% ################################################################## 92.6% ######################################################################## 100.0% Note: gnat_native=15.2.1 installed successfully. Note: Building universal_text_file=20220720.0.0/universal_text_file.gpr... Setup [mkdir] object directory for project Universal_Text_File [mkdir] library directory for project Universal_Text_File Compile [Ada] universal_text_file_config.ads [Ada] utf.adb Build Libraries [gprlib] Universal_Text_File.lexch [archive] libUniversal_Text_File.a [index] libUniversal_Text_File.a Success: Build finished successfully in 0.61 seconds. Found declared GPR file: universal_text_file.gpr [alr test] Test completed SUCCESSFULLY