Home | History | Annotate | Download | only in i18n

Lines Matching full:skeleton

79 DateIntervalFormat::createInstance(const UnicodeString& skeleton,
81 return createInstance(skeleton, Locale::getDefault(), status);
86 DateIntervalFormat::createInstance(const UnicodeString& skeleton,
93 skeleton.extract(0, skeleton.length(), result, "UTF-8");
97 sprintf(mesg, "skeleton: %s; pattern: %s\n", result, result_1);
102 return create(locale, dtitvinf, &skeleton, status);
108 DateIntervalFormat::createInstance(const UnicodeString& skeleton,
111 return createInstance(skeleton, Locale::getDefault(), dtitvinf, status);
116 DateIntervalFormat::createInstance(const UnicodeString& skeleton,
121 return create(locale, ptn, &skeleton, status);
507 const UnicodeString* skeleton,
520 DateFormat::createInstanceForSkeleton(*skeleton, locale, status)), status);
525 if ( skeleton ) {
526 fSkeleton = *skeleton;
540 const UnicodeString* skeleton,
543 skeleton, status);
566 * For example, it has interval patterns on skeleton "dMy" and "hm",
567 * but it does not have interval patterns on skeleton "dMyhm".
569 * The rule to genearte interval patterns for both date and time skeleton are
585 * For example, a pattern/skeleton is "hm", but the interval pattern
609 // or by createInstance(UnicodeString skeleton, .... )
623 /* Check whether the skeleton is a combination of date and time.
632 /* the difference between time skeleton and normalizedTimeSkeleton are:
633 * 1. (Formerly, normalized time skeleton folded 'H' to 'h'; no longer true)
634 * 2. 'a' is omitted in normalized time skeleton.
636 * time skeleton
638 * The difference between date skeleton and normalizedDateSkeleton are:
709 } // end of skeleton not found
710 // interval patterns for skeleton are found in resource
740 UnicodeString skeleton = fSkeleton;
742 // prefix skeleton with 'd'
743 skeleton.insert(0, LOW_D);
744 setFallbackPattern(UCAL_DATE, skeleton, status);
747 // then prefix skeleton with 'M'
748 skeleton.insert(0, CAP_M);
749 setFallbackPattern(UCAL_MONTH, skeleton, status);
752 // then prefix skeleton with 'y'
753 skeleton.insert(0, LOW_Y);
754 setFallbackPattern(UCAL_YEAR, skeleton, status);
779 DateIntervalFormat::getDateTimeSkeleton(const UnicodeString& skeleton,
797 for (i = 0; i < skeleton.length(); ++i) {
798 UChar ch = skeleton[i];
935 * 2. there might be no pattern for 'y' differ for skeleton "Md",
937 * need to look for it from skeleton 'yMd'
939 * @param dateSkeleton normalized date skeleton
940 * @param timeSkeleton normalized time skeleton
941 skeleton.
942 * TRUE if interval pattern found for the skeleton,
950 const UnicodeString* skeleton;
951 // if both date and time skeleton present,
957 skeleton = &timeSkeleton;
959 skeleton = &dateSkeleton;
962 /* interval patterns for skeleton "dMMMy" (but not "dMMMMy")
964 * interval patterns for skeleton "dMMMMy" are calculated by
965 * 1. get the best match skeleton for "dMMMMy", which is "dMMMy"
970 // best skeleton, and the difference information
972 const UnicodeString* bestSkeleton = fInfo->getBestSkeleton(*skeleton,
974 /* best skeleton could be NULL.
981 and the best skeleton match could be NULL
1002 // 0 means the best matched skeleton is the same as input skeleton
1006 // (this will happen, for instance, if the supplied skeleton has seconds,
1009 // skeleton has different fields, not only v/z difference
1016 // only has date skeleton
1017 setIntervalPattern(UCAL_DATE, skeleton, bestSkeleton, differenceInfo,
1020 UBool extended = setIntervalPattern(UCAL_MONTH, skeleton, bestSkeleton,
1026 skeleton = &extendedSkeleton;
1028 setIntervalPattern(UCAL_YEAR, skeleton, bestSkeleton, differenceInfo,
1031 setIntervalPattern(UCAL_MINUTE, skeleton, bestSkeleton, differenceInfo);
1032 setIntervalPattern(UCAL_HOUR, skeleton, bestSkeleton, differenceInfo);
1033 setIntervalPattern(UCAL_AM_PM, skeleton, bestSkeleton, differenceInfo);
1042 const UnicodeString& skeleton,
1048 fLocale, skeleton, status);
1135 * but also return the extended skeleton and its best match skeleton.
1138 * @param skeleton skeleton
1139 * @param bestSkeleton the best match skeleton which has interval pattern
1141 * @param differenceInfo the difference between skeleton and best skeleton
1142 * 0 means the best matched skeleton is the same as input skeleton
1147 * @param extendedSkeleton extended skeleton
1148 * @param extendedBestSkeleton extended best match skeleton
1150 * through extending skeleton or not.
1152 * extending skeleton, FALSE otherwise.
1157 const UnicodeString* skeleton,
1184 // else, looking for pattern when 'y' differ for 'dMMMM' skeleton,
1186 // since there is no pattern for 'y' differs for skeleton 'MMMd',
1187 // need to look for it from skeleton 'yMMMd',
1192 *extendedSkeleton = *skeleton;
1197 // skeleton "MMMM".
1200 // if there is no skeleton "yMMMM" defined,
1201 // look for the best match skeleton, for example: "yMMM"
1214 adjustFieldWidth(*skeleton, *bestSkeleton, pattern, differenceInfo,
1410 const UnicodeString& skeleton)
1413 return ( (skeleton.indexOf(fieldChar) == -1)?FALSE:TRUE ) ;
1471 // there is no "L" (always be "M") in skeleton,
1473 // for skeleton "M+", the pattern might be "...L..."
1510 // there is no "L" (always be "M") in skeleton,
1512 // for skeleton "M+", the pattern might be "...L..."