Hyphen-minus

The hyphen-minus, -, is a character used in digital documents and computing to represent a hyphen , a minus sign , or an en dash .[1] Typewriter keyboards and early computer encodings had only one character that looked like this, so its design had to be a compromise between the different typographical appearances. The proper name is rarely used: the character is referred to as a hyphen, a dash or a minus according to the context where it is being used.

-
Hyphen-minus
In UnicodeU+002D - HYPHEN-MINUS (HTML -)
Different from
Different fromU+2010 HYPHEN

U+2212 MINUS SIGN
U+2013 EN DASH

U+2014 EM DASH

Description

- + −
hyphen-minus, plus, minus signs compared

The use of a single character for both hyphen and minus was a compromise made in the early days of fixed-width (monospaced font) typewriters and computer displays.[2] However, in proper typesetting and graphic design, there are distinct characters for hyphens, dashes, and the minus sign. Usage of the hyphen-minus nonetheless persists in many contexts, as it is well known, easy to enter on keyboards, and in the same location in all common character sets.

In proportional fonts the hyphen-minus is usually the size of, or slightly bigger than, a hyphen, and smaller than a minus sign (which is usually the same width as a plus sign).[lower-alpha 1] This results in an unattractive appearance when mixed with plus signs. Also many word processors will allow a word wrap after a hyphen-minus, unlike the minus sign proper which is treated as a mathematical symbol no different (typographically) from any unspaced number or letter. These differences make its use undesirable in professional typography.

Uses

Typing

This character is often typed when a hyphen, a minus sign or an en dash (as in "the Boston–London flight") is wanted. Based on old typewriter conventions, it is common to use a pair -- to represent an em dash ,[3] and some word processors automatically convert this pair to an em dash. The character can also be used in place of the box-drawing character (U+2500) to simulate a horizontal line or alternated with spaces to make a "dashed" line that indicates where paper is to be cut.

Programming languages

Most programming languages use the hyphen-minus for denoting subtraction and negation.[4][5] It is almost never used to indicate a range, due to ambiguity with subtraction. Generally other characters, such as the Unicode U+2212 MINUS SIGN are not recognized.

In some programming languages -- marks beginning of a comment. Likewise, it can occasionally start the signature block. YAML uses a triple dash --- to end a section.

Command line

The character is often used when specifying command-line options, a convention mostly started by Unix. Options might be -x or -y, a user can specify both by using -xy. Various implementations of the getopt function allow two hyphen-minuses to specify "long" option names as --description, which are much easier to read while being much harder to memorize and write (recent software does not care about the number of hyphen-minuses, and either doesn't allow combinations of single-letter options or require the user to rearrange them so they don't match a long option). A double hyphen-minus by itself (followed by a space) indicates that there are no more options, which is useful when one needs to specify a filename that starts with a hyphen-minus. An option of just a hyphen-minus (followed by a space) may be recognized in lieu of a filename and indicates that stdin is to be read.

Encoding

The glyph has a code point in Unicode as U+002D - HYPHEN-MINUS; it is also in ASCII with the same value.

See also

  • -- (disambiguation)
  • Soft hyphen
  • Box-drawing characters including (U+2500), useful for drawing horizontal lines

Notes

  1. The precise relationships depend on typeface design choices that may differ between designers.

References

  1. Jukka K. Korpela (2006). Unicode explained. O'Reilly. p. 382. ISBN 978-0-596-10121-3.
  2. Fischer, Eric. "The Evolution of Character Codes, 1874-1968". CiteSeerX 10.1.1.96.678. Cite journal requires |journal= (help)
  3. French, Nigel (2006). InDesign Type: Professional Typography with Adobe InDesign CS2. Adobe Press. p. 72. ISBN 9780321385444. Retrieved 4 July 2020.
  4. Ritchie, Dennis (c. 1975). "C Reference Manual" (PDF). Bell Labs. Retrieved 7 December 2016.
  5. Marlow, Simon (ed.). Haskell 2010 Language Report (PDF). Retrieved 7 December 2016.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.