chromium/third_party/blink/renderer/platform/text/locale_icu.cc

/*
 * Copyright (C) 2011,2012 Google Inc. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 *     * Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above
 * copyright notice, this list of conditions and the following disclaimer
 * in the documentation and/or other materials provided with the
 * distribution.
 *     * Neither the name of Google Inc. nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#include "third_party/blink/renderer/platform/text/locale_icu.h"

#include <unicode/udatpg.h>
#include <unicode/udisplaycontext.h>
#include <unicode/uloc.h>

#include <iterator>
#include <limits>
#include <memory>

#include "base/memory/ptr_util.h"
#include "base/ranges/algorithm.h"
#include "third_party/blink/renderer/platform/wtf/date_math.h"
#include "third_party/blink/renderer/platform/wtf/text/string_buffer.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
#include "ui/base/ui_base_features.h"

namespace blink {

std::unique_ptr<Locale> Locale::Create(const String& locale) {}

LocaleICU::LocaleICU(const std::string& locale)
    :{}

LocaleICU::~LocaleICU() {}

String LocaleICU::DecimalSymbol(UNumberFormatSymbol symbol) {}

String LocaleICU::DecimalTextAttribute(UNumberFormatTextAttribute tag) {}

void LocaleICU::InitializeLocaleData() {}

bool LocaleICU::InitializeShortDateFormat() {}

UDateFormat* LocaleICU::OpenDateFormat(UDateFormatStyle time_style,
                                       UDateFormatStyle date_style) const {}

// We cannot use udat_*Symbols API to get standalone month names to use in
// calendar headers for Russian and potentially other languages. Instead,
// we have to format dates with patterns "LLLL" or "LLL" and set the
// display context to 'standalone'. See
// http://bugs.icu-project.org/trac/ticket/11552
UDateFormat* LocaleICU::OpenDateFormatForStandAloneMonthLabels(
    bool is_short) const {}

static String GetDateFormatPattern(const UDateFormat* date_format) {}

Vector<String> LocaleICU::CreateLabelVector(const UDateFormat* date_format,
                                            UDateFormatSymbolType type,
                                            int32_t start_index,
                                            int32_t size) {}

const Vector<String>& LocaleICU::MonthLabels() {}

const Vector<String>& LocaleICU::WeekDayShortLabels() {}

unsigned LocaleICU::FirstDayOfWeek() {}

bool LocaleICU::IsRTL() {}

void LocaleICU::InitializeDateTimeFormat() {}

String LocaleICU::DateFormat() {}

static String GetFormatForSkeleton(const char* locale, const String& skeleton) {}

String LocaleICU::MonthFormat() {}

String LocaleICU::ShortMonthFormat() {}

String LocaleICU::TimeFormat() {}

String LocaleICU::ShortTimeFormat() {}

String LocaleICU::DateTimeFormatWithSeconds() {}

String LocaleICU::DateTimeFormatWithoutSeconds() {}

const Vector<String>& LocaleICU::ShortMonthLabels() {}

const Vector<String>& LocaleICU::StandAloneMonthLabels() {}

const Vector<String>& LocaleICU::ShortStandAloneMonthLabels() {}

const Vector<String>& LocaleICU::TimeAMPMLabels() {}

}  // namespace blink