[fonts] Migrate topaz examples to approved fuchsia.fonts.Provider API

I18N-12 #comment

Change-Id: I9ba7f2436d30f73107544bb92492f521bfccec50
diff --git a/app/term/view_controller.cc b/app/term/view_controller.cc
index adaaef5..426e928 100644
--- a/app/term/view_controller.cc
+++ b/app/term/view_controller.cc
@@ -40,8 +40,9 @@
       params_(term_params) {
   SetReleaseHandler([this](zx_status_t status) { disconnect_(this); });
 
-  fuchsia::fonts::Request font_request;
-  font_request.family = "RobotoMono";
+  fuchsia::fonts::TypefaceRequest font_request{};
+  font_request.set_query(std::move(fuchsia::fonts::TypefaceQuery{}.set_family(
+      fuchsia::fonts::FamilyName{.name = "RobotoMono"})));
   font_loader_.LoadFont(
       std::move(font_request), [this](sk_sp<SkTypeface> typeface) {
         FXL_CHECK(typeface);  // TODO(jpoichet): Fail gracefully.
diff --git a/examples/ui/intl_client_demo/intl_client_demo_view.cc b/examples/ui/intl_client_demo/intl_client_demo_view.cc
index a8babdf..27ff677 100644
--- a/examples/ui/intl_client_demo/intl_client_demo_view.cc
+++ b/examples/ui/intl_client_demo/intl_client_demo_view.cc
@@ -35,9 +35,9 @@
               ->ConnectToEnvironmentService<
                   fuchsia::intl::PropertyProvider>()) {
   // Asynchronously load the font we need in order to render text.
-  fuchsia::fonts::Request font_request{
-      .family = "Roboto",
-  };
+  fuchsia::fonts::TypefaceRequest font_request{};
+  font_request.set_query(std::move(fuchsia::fonts::TypefaceQuery{}.set_family(
+      fuchsia::fonts::FamilyName{.name = "Roboto"})));
   font_loader_.LoadFont(std::move(font_request),
                         [this](sk_sp<SkTypeface> typeface) {
                           if (!typeface) {
diff --git a/examples/ui/lib/skia_font_loader.cc b/examples/ui/lib/skia_font_loader.cc
index 58d10c8..7e3cebf 100644
--- a/examples/ui/lib/skia_font_loader.cc
+++ b/examples/ui/lib/skia_font_loader.cc
@@ -16,16 +16,17 @@
 
 SkiaFontLoader::~SkiaFontLoader() {}
 
-void SkiaFontLoader::LoadFont(fuchsia::fonts::Request request,
+void SkiaFontLoader::LoadFont(fuchsia::fonts::TypefaceRequest request,
                               FontCallback callback) {
   // TODO(jeffbrown): Handle errors in case the font provider itself dies.
-  font_provider_->GetFont(
+  font_provider_->GetTypeface(
       std::move(request), [callback = std::move(callback)](
-                              fuchsia::fonts::ResponsePtr response) {
-        if (response) {
+                              fuchsia::fonts::TypefaceResponse response) {
+        if (!response.IsEmpty()) {
+          fuchsia::mem::Buffer buffer{};
+          response.buffer().Clone(&buffer);
           fsl::SizedVmo vmo;
-          if (!fsl::SizedVmo::FromTransport(std::move(response->buffer),
-                                            &vmo)) {
+          if (!fsl::SizedVmo::FromTransport(std::move(buffer), &vmo)) {
             callback(nullptr);
             return;
           }
@@ -41,8 +42,9 @@
 }
 
 void SkiaFontLoader::LoadDefaultFont(FontCallback callback) {
-  fuchsia::fonts::Request request;
-  request.family = "Roboto";
+  fuchsia::fonts::TypefaceRequest request{};
+  request.set_query(std::move(fuchsia::fonts::TypefaceQuery{}.set_family(
+      fuchsia::fonts::FamilyName{.name = "Roboto"})));
   LoadFont(std::move(request), std::move(callback));
 }
 
diff --git a/examples/ui/lib/skia_font_loader.h b/examples/ui/lib/skia_font_loader.h
index c540397..4f93882 100644
--- a/examples/ui/lib/skia_font_loader.h
+++ b/examples/ui/lib/skia_font_loader.h
@@ -25,7 +25,7 @@
 
   // Loads the requested font and invokes the callback when done.
   // If the request fails, the callback will receive a null typeface.
-  void LoadFont(fuchsia::fonts::Request request, FontCallback callback);
+  void LoadFont(fuchsia::fonts::TypefaceRequest request, FontCallback callback);
 
   // Loads the default font and invokes the callback when done.
   // If the request fails, the callback will receive a null typeface.