WO1995020198A1 - Number formatting framework - Google Patents
Number formatting framework Download PDFInfo
- Publication number
- WO1995020198A1 WO1995020198A1 PCT/US1994/002628 US9402628W WO9520198A1 WO 1995020198 A1 WO1995020198 A1 WO 1995020198A1 US 9402628 W US9402628 W US 9402628W WO 9520198 A1 WO9520198 A1 WO 9520198A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- numerical information
- formatting
- text
- information
- converting
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/123—Storage facilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Definitions
- This invention generally relates to improvements in computer systems, and more particularly to a system and method for formatting numerical data.
- the preferred embodiment is a system of objects which provide various number formatting services. Some objects scan text and convert the text to numerical information. Other objects convert non-text numerical information to text. Conversion between numerical formats and languages is also supported.
- the system provides a common ground from which application programs can speak a seemingly common numerical language without concern about the details of converting numerical information between systems of representation. The present system relieves application developers of the burden of handling details of numerical information.
- the system also provide ease oi information transfer between monetary systems and cultures having differing languages.
- the svstem also provides for conversion between number formats to allow for easier processing and /or comprehension of the numerical information.
- Figure 1 illustrates a typical hardware configuration of a computer in accordance with a preferred embodiment
- Figure 2 is a Booch diagram illustrating the relationship between various classes used in number formatting in accordance with a preferred embodiment
- Figure 3 shows the overall text to number conversion process in accordance with a preferred embodiment
- Figure 4 shows the conversion of a number to text in accordance with a preferred embodiment
- Figure 5 shows conversion using two number formatters in accordance with a preferred embodiment
- Figure 6 illustrates two formatters using a best match algorithm in accordance with a preferred embodiment
- Figure 7 shows the two step conversion process between binary and text in accordance with a preferred embodiment
- Figure 8 shows the ConversionResult object and the data which the object maintains in accordance with a preferred embodiment.
- number information may include any information related to numbers. This includes text representing numbers, symbols representing numbers, various number systems, text associated wit numbers, and symbols associated with numbers. Numerical information could be any information which conveys meaning relative to numbers. In general, it is conversion among this universe of information, as discussed explicitly herein, and known as conveying information regarding numbers, that the present invention is directed toward.
- FIG. 1 illustrates a typical hardware configuration of a computer in accordance with the subje invention having a central processing unit 10, such as a conventional microprocessor, and a number of other units interconnected via a system bus 12.
- a central processing unit 10 such as a conventional microprocessor
- the computer show in Figure 1 includes a Read Only Memory (ROM) 16, a Random Access Memory (RAM 14, an I/O adapter 18 for connecting peripheral devices such as disk units 20 and other I/O peripherals represented by 21 to the system bus 12, a user interface adapter 22 for connecting a keyboard 24, a mouse 32, a speaker 28, a microphone 26, and /or other use interface devices such as a touch screen device (not shown) to the bus 12, a communication adapter 34 for connecting the workstation to a data processing networ represented by 23.
- a display adapter 36 for connecting the bus to a display device 38.
- the workstation has resident thereon an operating system such as the Apple System/ 7 ® operating system.
- the present invention describes a set of classes that provide conversion services for numbers. Both text scanning to extract a number, and number formatting to convert a number to text, are handled by the same class. Number formats are provided for most numerical formats, and for different languages. It is also possible to use number formatting classes to format such numbers as 2.99792458 x 10 ⁇ and (1,234.56) correctly, where parenthesis are used to indicate negative numbers.
- Figure 2 provides an overview of the class relationships in the number formatting system.
- the number formatting classes use the TCanonicalNumberFormatter 202 and TCanonicalNumber 204 classes internally.
- the number formatting classes convert text to a TCanonicalNumber 204 and then, using a TCanonicalNumberFormatter 202, perform the further conversion to the binary level. Only people who create new number formatting classes will need to access the TCanonicalNumberFormatter 202, TCanonicalNumber 204, and their methods. Certain of the number formats are intended for specialized use, such as using Roman numerals in outlines or for numbering pages in prefaces.
- the base number format class is TNumberFormat 218, which is an -o-
- Figure 3 shows the overall text to number conversion process. This is the most common scanning method for converting a TText object into a number. It takes a TText as its input at 300, converts the text at 302, and returns the scanned number. Information on how well the text was parsed is returned in the TConversionResult 200, at step 304.
- the Range object is used to determine which portion of the text to convert; it defaults to the entire text.
- Figure 4 shows the conversion of a number to text.
- This method handles the conversion from an input number at 400, and converts the number to its textual representation at 402.
- a TConversionResult 200 is returned at 404 to indicate the success of the conversion; problems might arise, for example, from trying to write a number such as 1.618 in Roman numerals.
- NumberToTextQ There are two reasons why an exception is not thrown by NumberToTextQ to indicate an incomplete conversion.
- One is that some number formats simply do not support all kinds of numbers. Since it is possible to do at least part of the conversion — in this case, turning 1.618 into "I” — this is not an error and an exception is not thrown.) Again, overloaded forms exist for different number types.
- This method given a range of numbers, returns the maximum number of UniChar characters a number in the range can take up when converted to a TText. This is a pure virtual method that must be overridden in anv derived classes.
- Distinct formatting for positive and negative numerals is provided by appending text at the beginning or end of a formatted numeral. Certain methods are used to specify the text used on either side of a positive or negative numeral and related properties. The default behavior that these methods assume is that some text is appended before and after every numeral to indicate its sign. This text may or may not be empty. Negative numerals always have the specified text appended; positive numerals may or may not — this is controlled by the SetShowPlusSignQ. Thus, the familiar behavior would be to append a minus sign at the beginning of negative numerals and nothing at the end. Positive numerals can be set apart by inserting a "+" at the beginning.
- TRomanFormat 230 ignores empty strings for the prefix and suffix text.
- Others can override the methods in TNumberFormat 218 that set up the default behavior, as set forth below.
- updating result if isNegative is TRUE / / appends the positive prefix and suffix text to / / text, updating result, if isNegative is FALSE / / and ::GetShowPlusSign() is TRUE ConfirmSignPrefix (const TStandardText& text, TRange& range, TConversionResult& result, Boolean& negFlag)
- the default affixes for positive numbers are empty strings, as is the default suffix for negative numbers.
- the default prefix for negative numbers is "-", which, despite appearances is not the minus sign/hyphen we all know and love from ASCII, but the visually identical version of the minus sign.
- Figure 5 shows the number to text process using the number formatter.
- an universal number formatter is used at 504.
- Each number formatter contains another number formatter to use in just such a situation.
- this out of bounds number formatter is a TUniversalNumberFormatter, which is guaranteed to be able to handle any number.
- TConversionResult 200 TNumeral 206, and TCanonicalNumber 204 TCanonicalNumber 204
- the process of conversion between text and binary numerals falls algorithmically into two distinct parts: one part is primarily concerned with numerical formatting such as rounding, while the other handles the mechanics of writing systems.
- the TNumberFormatter class 218 formats numbers , as shown in Figure 7, by dividing the process into two steps: conversion between a binary number and a standard intermediate form (a TCanonicalNumber 204) at 700; and conversion between the standard intermediate form and text at 702.
- TConversionResult 200 could be implemented by two classes, TScanResult and
- the TConversionResult 200 class exists to provide extensive information to a programmer regarding how successful a conversion was. It also conveys other information about a conversion which a programmer may find helpful.
- a ParseConfidence 800 is a floating-point number between 0.0 and 1.0 that indicates an overall rating of the conversion. It could typically be used to indicate which number format might be a better one for a particular conversion:
- TConversionResult resultl result2; TText textl, text2, theText; formatl. NumberToText (aNum, textl, resultl); format2.NumberToText(aNum, text2, result2);
- GetLengthUsed 802 indicates how many characters in a given text string were used in a conversion from text to a number. It can be used by text parsers to indicate where the next stage of the parsing should take place.
- GetSeparatorError 804 is used to indicate an error involving a digit separator in a conversion from text to a binary number. For example, the numeral "1,23.45” is clearly intended to mean “123.45". In this instance, the conversion will take place, and GetSeparatorError() will return TRUE. virtual Boolean GetIncompleteSign() const;
- GetlncompleteSign 806 is used to indicate an error involving a plus or minus sign in a conversion from text to a binary number. For example, if we have set negative numerals to be bracketed with parentheses, then "(123.45” would seem to be a mistake for (123.45)". In this instance, the conversion will take place, and GetIncompleteSign() will return TRUE. virtual Boolean GetValueOrderError() const;
- GetValueOrderError 808 is used to indicate an error involving the order of digits in number formats which are sensitive to digit order — specifically, Roman numerals.
- the string "IILCMM” would appear to be an attempt at writing a Roman numeral, but the order of the digits is incorrect.
- a Roman number formatter would do its best to turn this string into a binary number and GetValueOrderError() would return TRUE.
- virtual Boolean GetCanNormalizeQ const; GetCanNormalize 810 returns TRUE if a text string can be turned into a binary number and back into a text string in such a fashion that: (a) no rounding would take place; and
- GetDigitSequenceRange(TTextRange&) 714 This information is returned by GetDigitSequenceRange(TTextRange&) 714.
- virtual Boolean GetOutOfBoundsError() const; Every number formatter has a range of values it can represent associated with it. It also has an associated number formatter to use in case a number given it to convert is out of bounds. If a number formatter has to use its out-of-bounds formatter to convert a number to text, then GetOutOfBoundsError() 716 returns TRUE. In the following code fragment, for example, a different color is used to indicate an out-of-bounds number conversion.
- DrawNumber (numText, theOutOfBoundsColor); else DrawNumber (numText, thelnBoundsColor);
- TNumerals 206 is a class that is used by the number format for the individual numeral char-value mapping, i.e. that the value of kDigitSeven is 7 in a U.S. decimal format and that kRomanNumeralTen has the value 10 using Roman numerals.
- the TNumerals 206 object used by a particular TNumberFormat 218 defines what the numerals are for that instance of the object only. It would be perfectly possible to have an instance of a TNumberFormat 218 object that uses the letter "q" for 1 and "z” for 7. Developers writing their own number format objects should use the information derived from the object's TNumerals 206. An exceptional case would be a number formatter such as the
- TUniversalNumberFormat class which is specifically designed to handle any valid numerical digit.
- the TUnicodeNumerals 216 class will accept any of the digit values defined for text-to-binary conversions. Thus, the Latin-Arabic digit one, the Arabic-Indic digit 1, the Devanagari digit 1, and so on, will all have the value 1. To handle binary-to-text conversions, the TUnicodeNumerals 216 object needs to know which set of digits to use. This is done with the methods void SetScript (TUnicode::ScriptName); TUnicode::ScriptName GetScript (void); The script can also be specified when a TUnicodeNumerals 216 object is constructed.
- TUnicode::kRoman The default is TUnicode::kRoman.
- the TUnicodeNumerals 216 class uses the script information to determine which possible UniChar would be appropriate.
- the script equal to TUnicode::kRoman, TUnicode::kGreek, or TUnicode::kCyrillic, it would return TUnicode::kDigitOne for 1. If the script were TUnicode::kArabic, it would return TUnicode::kArabic_indicDigitOne, and so on.
- a THybridNumerals 214 object contains two sets of numeral pairs. One set of pairs is used for converting text to numbers only; this is the set of scanning pairs. Two different UniChar's can be associated with the same numerical value in this list (e.g., for Roman numbers, either "i” or "I” would be converted to 1). Number pairs are added to the set of scanning pairs using the method AddScanningPair(). There is also a set of formatting pairs in which each numerical value can be associated with at most one UniChar. Evervthing in the collection of formatting pairs is considered automatically to be in the set of scanning pairs. A number pair is added to the set of formatting pairs by using the method AddFormattingPair().
- TPositionalNumberFormat 220 A TPositionalNumberFormat 220 is used for integers written with a value- based system where the value of a digit depends partly on the digit itself and on where it is found in the numeral.
- the TPositionalNumber format defines a number of additional setter and getter methods to determine, for example, the rounding method to use (the rounding methods available are defined in CanonicalNumber.h), the number of digits to display, and so on. The most important of these include:
- the digit group separator is the text to use between / / groups of digits in a numeral / / Americans usually use "," as a digit group separator,
- TFloatingPointFormats 222 are used for position-based numeral systems which extend the algorithm to include non- integers.
- a TFloatingPointFormat 222 could represent ⁇ , for example, as 3.14159265358979323846264338327950.
- the TFloatingPointFormat 222 includes special methods to specify such parameters as the number of decimal points to display; these include:
- the decimal character is the character to put between // the "left" and "right” hand sides of the decimal
- TFloatingPointFormat 222 This is a special subclass of TFloatingPointFormat 222, which has auniversal range (and the class used as the default out-of-bounds number format for all other number formats).
- TUniversalNumberFormat can handle infinity, NaN's of various types (such as the results of division by zero). Its main purpose is to provide a default out-of-bounds format and guarantee that any format will return something when asked to turn any binary number into a numeral.
- Proper fractions are those whose numerator is less than their denominator (e.g.,
- TUnicode::kSpace to use between the integral and fractional portion of a rational number, and whether or not to make the numeral a superscript and the denominator a subscript. This character facilitates switching between "355/113" and for example.
- the integer format defaults to a standard TPositionalNumberFormat 220, but can be overridden. This allows full control over the representation of the numerator and denominator of a rational number and makes "III ** 7vTl" as easy to write as
- the TRationalNumberFormat 224 object supports the use of these characters only in conversion from text to numbers. Because few fonts contain glyphs for the fraction characters, conversion from numbers to text will use the standard Arabic numeral characters and styled text to represent fractions.
- This method is derived from TNumberFormat 218 and implements an outline-style numbering scheme of the sequence a, b, c, ..., z, aa, bb, cc, ..., zz, aaa, ... / / construct TOutlineNumberFormat
- TOutlineNumberFormat is shown as element 228 in Figure 2.
- TAddiditiveNumberFormat 236 is derived from TNumberFormat 218 and handles simple additive numerical representations, where the values of different numerals are just added together to form the number; i.e. the number 47 is represented as " ⁇ " in classical Greek, where " ⁇ " is used to represent 40 and " ⁇ " represents 7.
- This method is derived from TAddiditiveNumberFormat 236 and handles Roman numerals.
- the support for Roman numerals is largely intended for limited situations such as page numbers or numbers in an outline.
- the control of the case of Roman numerals is facilitated by using the following: enum ERomanNumeralCase ⁇ kUpperCase, kLowerCase );
- ERomanNumeralCase GetRomanNumeralCase() const- void SetRomanNumeralCase (const ERomanNumeralCase);
- TRomanFormat 230 has a special enum defined to control this behavior: enum ERomanNumeralType
- the short system uses the subtractive principle as much as possible to make the Roman numeral as short as can be.
- the long system never uses the subtractive principle at all (and was the original system, favored by purists).
- the others vary in whether they use subtraction to represent 4's and 8's.
- an embodiment defines a set of Roman numeral characters in addition to their Latin letter counterparts. There is a Roman numeral “I” distinct from the letter “I”, a Roman numeral “ii,” and so forth in both upper- and lower-case forms.
- the TRomanFormat 230 object supports the use of these characters only in conversion from text to numbers. Because few fonts will have glyphs for the Roman numeral characters, conversion from numbers to text will not use the Roman numeral characters in Unicode, including the rare Roman numerals such as 5,000 (E>) and 10,000 (®), and the alternate form of 1,000 (CD) which have no analogs in the alphabet. These characters can, however, be used in text-to- number conversions.
- TRomanFormat 230 The use of an arbitrary THybridNumerals 214 object is not supported with TRomanFormat 230. There is no need to specify a THybridNumerals 214 object or base in the constructor for TRomanFormat 230. This behavior is overridden by subclassing TRomanFormat 230.
- Hebrew numerals are written using the Hebrew alphabet in a fashion similar to the ancient Greek numerals, where the first nine letters are assigned the values 1 through 9, the next nine 10 through 90, and so on.
- the value of a numeral is the total value of the letters making it up. This would ordinarily be represented by using a TAdditiveNumberFormat 236; but to avoid using portions of the ineffable Name of God as numerals, 14 must be written as 9+5 (T J) not 10+4 (fT*) and 15 as 9+6 (fiU). This necessitates using a special object for Hebrew numerals. Hebrew does not distinguish between upper- and lower cases, and there are no alternate characters that might be used in turning numbers to Hebrew numerals, so there are no complications beyond this one in the
- THebrewNumberFormat 232 There is no need to specify a THybridNumerals 214 object or base in the constructor for THebrewNumberFormat 232.
- THebrewNumberFormat 232 provides an interface for distinguishing cabalistic from standard Hebrew numerals.
- Han numerals which are based on Western numerals and are fully positional, and where special shortened forms of numbers 21 through 39 are used (calendar numerals). These are supported by an enum within the THanNumberFormat 226 class: enum EHanNumberType ⁇ kHanCalendar, kHanStandard, kHanXiaDeng, kHanZhongDeng, kHanShangDeng, kHanWestern ⁇ ;
- the standard system is the one in most frequent use and provides the uniform approach for writing numerals up to 99,999.
- TUnicode : Xiadeng value Zhongdeng Shangdeng value value tl kHanNumeralYi 10 5 108 108
- TCanonicalNumberFormatter 202 format These conversions are done through two pure virtual methods listed below.
- TextToCanonicalNumber to create the canonical number format and use the appropriate TCanonicalNumberFormatter 202 and TCanonicalNumber 204 methods for the most efficient binary-canonical number format conversion.
- TCanonicalNumberFormatter 202 used by a TNumberFormat 218 is persistent.
- the number formatting classes defined by the present invention provide default values for the fields within TCanonicalNumberFormatter 202 and include setters and getters for these fields where appropriate. This means that developers writing their own TNumberFormat 218 objects do not need to worry about many of the details of setting up a TCanonicalNumberFormatter 202 and TCanonicalNumber 204 but can concentrate on those details relevant to their needs. In particular, it will not be necessary to override the methods that set and return the values for TCanonicalNumberFormatter 202 fields such as precision and rounding. These are handled by the setters and getters in the TPositionalNumberFormat 220, TFloatingPointFormat 222, and TRationalNumberFormat 224 objects.
- TNumberFormat 218 polymorphically for number conversion.
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE69419184T DE69419184T2 (en) | 1994-01-21 | 1994-03-11 | METHOD AND SYSTEM FOR FORMATTING NUMERICAL INFORMATION |
AU65878/94A AU6587894A (en) | 1994-01-21 | 1994-03-11 | Number formatting framework |
EP94913899A EP0803104B1 (en) | 1994-01-21 | 1994-03-11 | Number formatting framework |
JP51953895A JP3599740B2 (en) | 1994-01-21 | 1994-03-11 | Numerical formatting framework |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/184,127 US5657259A (en) | 1994-01-21 | 1994-01-21 | Number formatting framework |
US08/184,127 | 1994-01-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1995020198A1 true WO1995020198A1 (en) | 1995-07-27 |
Family
ID=22675654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1994/002628 WO1995020198A1 (en) | 1994-01-21 | 1994-03-11 | Number formatting framework |
Country Status (7)
Country | Link |
---|---|
US (1) | US5657259A (en) |
EP (1) | EP0803104B1 (en) |
JP (1) | JP3599740B2 (en) |
AU (1) | AU6587894A (en) |
CA (1) | CA2178584A1 (en) |
DE (1) | DE69419184T2 (en) |
WO (1) | WO1995020198A1 (en) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822720A (en) | 1994-02-16 | 1998-10-13 | Sentius Corporation | System amd method for linking streams of multimedia data for reference material for display |
US5624456A (en) * | 1996-02-07 | 1997-04-29 | Hellenkamp; Johann F. | Automatic surgical device for cutting a cornea |
US6119130A (en) * | 1996-03-28 | 2000-09-12 | Oracle Corporation | Method and apparatus for providing schema evolution without recompilation |
US5905979A (en) * | 1996-07-02 | 1999-05-18 | Electronic Data Systems Corporation | Abstract manager system and method for managing an abstract database |
US6032151A (en) * | 1997-11-17 | 2000-02-29 | Sun Microsystems, Inc. | Database system employing polymorphic entry and entry matching |
US7716163B2 (en) | 2000-06-06 | 2010-05-11 | Microsoft Corporation | Method and system for defining semantic categories and actions |
US7712024B2 (en) * | 2000-06-06 | 2010-05-04 | Microsoft Corporation | Application program interfaces for semantically labeling strings and providing actions based on semantically labeled strings |
US7788602B2 (en) | 2000-06-06 | 2010-08-31 | Microsoft Corporation | Method and system for providing restricted actions for recognized semantic categories |
US7421645B2 (en) * | 2000-06-06 | 2008-09-02 | Microsoft Corporation | Method and system for providing electronic commerce actions based on semantically labeled strings |
US7770102B1 (en) | 2000-06-06 | 2010-08-03 | Microsoft Corporation | Method and system for semantically labeling strings and providing actions based on semantically labeled strings |
US6636880B1 (en) * | 2000-09-18 | 2003-10-21 | International Business Machines Corporation | Automatic conversion of units in a computer program |
US6957385B2 (en) * | 2001-01-05 | 2005-10-18 | Microsoft Corporation | Worldwide number format for a spreadsheet program module |
US7117430B2 (en) * | 2001-02-27 | 2006-10-03 | Microsoft Corporation | Spreadsheet error checker |
US7032174B2 (en) * | 2001-03-27 | 2006-04-18 | Microsoft Corporation | Automatically adding proper names to a database |
US7778816B2 (en) | 2001-04-24 | 2010-08-17 | Microsoft Corporation | Method and system for applying input mode bias |
US7130861B2 (en) | 2001-08-16 | 2006-10-31 | Sentius International Corporation | Automated creation and delivery of database content |
US20050108195A1 (en) * | 2002-05-07 | 2005-05-19 | Microsoft Corporation | Method, system, and apparatus for processing information based on the discovery of semantically labeled strings |
US7325194B2 (en) * | 2002-05-07 | 2008-01-29 | Microsoft Corporation | Method, system, and apparatus for converting numbers between measurement systems based upon semantically labeled strings |
US7707496B1 (en) | 2002-05-09 | 2010-04-27 | Microsoft Corporation | Method, system, and apparatus for converting dates between calendars and languages based upon semantically labeled strings |
US7707024B2 (en) | 2002-05-23 | 2010-04-27 | Microsoft Corporation | Method, system, and apparatus for converting currency values based upon semantically labeled strings |
US7742048B1 (en) * | 2002-05-23 | 2010-06-22 | Microsoft Corporation | Method, system, and apparatus for converting numbers based upon semantically labeled strings |
US7281245B2 (en) | 2002-06-05 | 2007-10-09 | Microsoft Corporation | Mechanism for downloading software components from a remote source for use by a local software application |
US7827546B1 (en) | 2002-06-05 | 2010-11-02 | Microsoft Corporation | Mechanism for downloading software components from a remote source for use by a local software application |
US7356537B2 (en) | 2002-06-06 | 2008-04-08 | Microsoft Corporation | Providing contextually sensitive tools and help content in computer-generated documents |
US7003522B1 (en) | 2002-06-24 | 2006-02-21 | Microsoft Corporation | System and method for incorporating smart tags in online content |
US7716676B2 (en) | 2002-06-25 | 2010-05-11 | Microsoft Corporation | System and method for issuing a message to a program |
US20040001099A1 (en) * | 2002-06-27 | 2004-01-01 | Microsoft Corporation | Method and system for associating actions with semantic labels in electronic documents |
US7392479B2 (en) | 2002-06-27 | 2008-06-24 | Microsoft Corporation | System and method for providing namespace related information |
US7209915B1 (en) | 2002-06-28 | 2007-04-24 | Microsoft Corporation | Method, system and apparatus for routing a query to one or more providers |
US20040019856A1 (en) * | 2002-07-25 | 2004-01-29 | Bruce Hamilton | Numeric coding method |
US7783614B2 (en) | 2003-02-13 | 2010-08-24 | Microsoft Corporation | Linking elements of a document to corresponding fields, queries and/or procedures in a database |
US7711550B1 (en) | 2003-04-29 | 2010-05-04 | Microsoft Corporation | Methods and system for recognizing names in a computer-generated document and for providing helpful actions associated with recognized names |
US7558841B2 (en) | 2003-05-14 | 2009-07-07 | Microsoft Corporation | Method, system, and computer-readable medium for communicating results to a data query in a computer network |
US7739588B2 (en) | 2003-06-27 | 2010-06-15 | Microsoft Corporation | Leveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data |
US20050071756A1 (en) * | 2003-09-23 | 2005-03-31 | International Business Machines Corporation | XML to numeric conversion method, system, article of manufacture, and computer program product |
US7178102B1 (en) | 2003-12-09 | 2007-02-13 | Microsoft Corporation | Representing latent data in an extensible markup language document |
US7404195B1 (en) | 2003-12-09 | 2008-07-22 | Microsoft Corporation | Programmable object model for extensible markup language markup in an application |
US7434157B2 (en) | 2003-12-09 | 2008-10-07 | Microsoft Corporation | Programmable object model for namespace or schema library support in a software application |
US7487515B1 (en) | 2003-12-09 | 2009-02-03 | Microsoft Corporation | Programmable object model for extensible markup language schema validation |
US7509573B1 (en) | 2004-02-17 | 2009-03-24 | Microsoft Corporation | Anti-virus security information in an extensible markup language document |
US7992085B2 (en) | 2005-09-26 | 2011-08-02 | Microsoft Corporation | Lightweight reference user interface |
US7788590B2 (en) | 2005-09-26 | 2010-08-31 | Microsoft Corporation | Lightweight reference user interface |
US8077974B2 (en) | 2006-07-28 | 2011-12-13 | Hewlett-Packard Development Company, L.P. | Compact stylus-based input technique for indic scripts |
US8171402B2 (en) * | 2006-11-10 | 2012-05-01 | Research In Motion Limited | Handheld electronic device including auto completion of punctuation in numerical entry, and associated method |
US8086439B2 (en) * | 2007-02-06 | 2011-12-27 | Microsoft Corporation | Translation of text into numbers |
US8078658B2 (en) * | 2008-02-01 | 2011-12-13 | International Business Machines Corporation | ASCII to binary decimal integer conversion in a vector processor |
US9454514B2 (en) * | 2009-09-02 | 2016-09-27 | Red Hat, Inc. | Local language numeral conversion in numeric computing |
US8949783B2 (en) * | 2010-06-30 | 2015-02-03 | International Business Machines Corporation | Method and system for lazy data serialization in computer communications |
US8468021B2 (en) * | 2010-07-15 | 2013-06-18 | King Abdulaziz City For Science And Technology | System and method for writing digits in words and pronunciation of numbers, fractions, and units |
US9710227B2 (en) | 2012-09-15 | 2017-07-18 | John W. Ogilvie | Formatting floating point numbers |
US10268449B1 (en) * | 2015-06-25 | 2019-04-23 | EMC IP Holding Company LLC | Natural order in API calls |
US11100100B2 (en) | 2017-03-20 | 2021-08-24 | International Business Machines Corporation | Numeric data type support for cognitive intelligence queries |
US11080273B2 (en) | 2017-03-20 | 2021-08-03 | International Business Machines Corporation | Image support for cognitive intelligence queries |
US10984030B2 (en) | 2017-03-20 | 2021-04-20 | International Business Machines Corporation | Creating cognitive intelligence queries from multiple data corpuses |
US11182414B2 (en) | 2017-03-20 | 2021-11-23 | International Business Machines Corporation | Search queries of multi-datatype databases |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5055998A (en) * | 1984-12-10 | 1991-10-08 | Wang Laboratories, Inc. | Intermediate spreadsheet structure |
WO1993021591A1 (en) * | 1992-04-14 | 1993-10-28 | Teknekron Communications Systems, Inc. | Method for converting a first data collection to a second data collection |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3860908A (en) * | 1974-02-04 | 1975-01-14 | Honeywell Inf Systems | Rom multiple code conversion apparatus |
US4415766A (en) * | 1980-06-06 | 1983-11-15 | Alephtran Technology N.V. | Recognizer/converter for arabic and other language codes |
US5257369A (en) * | 1990-10-22 | 1993-10-26 | Skeen Marion D | Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes |
US5225833A (en) * | 1989-10-20 | 1993-07-06 | Digital Equipment Corporation | Character encoding |
US5050121A (en) * | 1990-01-22 | 1991-09-17 | Vaughan H W | Communication system which uses characters that represent binary-coded decimal numbers |
US5299304A (en) * | 1991-04-16 | 1994-03-29 | International Business Machines Corporation | Method and apparatus for identifying multiple stage document format transformations |
US5337233A (en) * | 1992-04-13 | 1994-08-09 | Sun Microsystems, Inc. | Method and apparatus for mapping multiple-byte characters to unique strings of ASCII characters for use in text retrieval |
-
1994
- 1994-01-21 US US08/184,127 patent/US5657259A/en not_active Expired - Lifetime
- 1994-03-11 CA CA002178584A patent/CA2178584A1/en not_active Abandoned
- 1994-03-11 EP EP94913899A patent/EP0803104B1/en not_active Expired - Lifetime
- 1994-03-11 DE DE69419184T patent/DE69419184T2/en not_active Expired - Lifetime
- 1994-03-11 WO PCT/US1994/002628 patent/WO1995020198A1/en active IP Right Grant
- 1994-03-11 AU AU65878/94A patent/AU6587894A/en not_active Abandoned
- 1994-03-11 JP JP51953895A patent/JP3599740B2/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5055998A (en) * | 1984-12-10 | 1991-10-08 | Wang Laboratories, Inc. | Intermediate spreadsheet structure |
WO1993021591A1 (en) * | 1992-04-14 | 1993-10-28 | Teknekron Communications Systems, Inc. | Method for converting a first data collection to a second data collection |
Non-Patent Citations (4)
Title |
---|
"Data Conversion Method between IBM Application system and Lotus 1-2-3", IBM TECHNICAL DISCLOSURE BULLETIN., vol. 35, no. 5, October 1992 (1992-10-01), ARMONK, US, pages 217 - 218, XP000312939 * |
BERRY T: "Has it become practical to transfer spreadsheets between programs?", BUSINESS SOFTWARE, vol. 5, no. 1, January 1987 (1987-01-01), US, pages 54 - 59 * |
D. BYNON: "VAX XWAY", DEC PROFESSIONAL, vol. 6, no. 9, September 1987 (1987-09-01), US, pages 108 - 110 * |
N.H. GEHANI: "Databases and Units of measure", IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, vol. SE-8, no. 6, November 1982 (1982-11-01), NEW YORK US, pages 605 - 611 * |
Also Published As
Publication number | Publication date |
---|---|
US5657259A (en) | 1997-08-12 |
JPH09508726A (en) | 1997-09-02 |
DE69419184D1 (en) | 1999-07-22 |
JP3599740B2 (en) | 2004-12-08 |
DE69419184T2 (en) | 1999-12-23 |
EP0803104A1 (en) | 1997-10-29 |
CA2178584A1 (en) | 1995-07-27 |
EP0803104B1 (en) | 1999-06-16 |
AU6587894A (en) | 1995-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5657259A (en) | Number formatting framework | |
US5784069A (en) | Bidirectional code converter | |
US7886309B2 (en) | Accessing a platform independent input method editor from an underlying operating system | |
JPS63316231A (en) | Facilitating of computer sorting | |
US7251667B2 (en) | Unicode input method editor | |
WO1994025922A1 (en) | Text input transliteration system | |
US6055365A (en) | Code point translation for computer text, using state tables | |
EP0268069A2 (en) | Method of forming a message file in a computer | |
US5101375A (en) | Method and apparatus for providing binding and capitalization in structured report generation | |
US20050251519A1 (en) | Efficient language-dependent sorting of embedded numerics | |
JPS6037946B2 (en) | document creation device | |
JP2740335B2 (en) | Table reader with automatic cell attribute determination function | |
JPH077411B2 (en) | Document processor | |
King | Text and Braille computer translation | |
JP2707565B2 (en) | Document display device | |
JP2698836B2 (en) | Data converter | |
JP2938663B2 (en) | Information processing apparatus and information processing method | |
JP2972225B2 (en) | Character converter | |
Liu | Chinese information processing | |
JPH01302484A (en) | Formula recognizing device | |
JP3067083B2 (en) | Document input device | |
JP3022790B2 (en) | Handwritten character input device | |
JPH04130973A (en) | Data registering system for electronic filing | |
Lin et al. | An auxiliary unicode Han character lookup service based on glyph shape similarity | |
Rannenberg et al. | The X/Open internationalization model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AT AU BB BG BR BY CA CH CN CZ DE DK ES FI GB HU JP KP KR KZ LK LU LV MG MN MW NL NO NZ PL PT RO RU SD SE SK UA UZ VN |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2178584 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1994913899 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWP | Wipo information: published in national office |
Ref document number: 1994913899 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 1994913899 Country of ref document: EP |