# C1.Util.DX.DirectWrite.TextAnalyzer.AnalyzeScript

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="C1_Util_DX_DirectWrite_TextAnalyzer_AnalyzeScript_" data-uid="C1.Util.DX.DirectWrite.TextAnalyzer.AnalyzeScript*">AnalyzeScript Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="C1_Util_DX_DirectWrite_TextAnalyzer_AnalyzeScript_" data-uid="C1.Util.DX.DirectWrite.TextAnalyzer.AnalyzeScript*"></a>
<h4 id="C1_Util_DX_DirectWrite_TextAnalyzer_AnalyzeScript_C1_Util_DX_DirectWrite_TextAnalysisSource_System_Int32_System_Int32_C1_Util_DX_DirectWrite_TextAnalysisSink_" data-uid="C1.Util.DX.DirectWrite.TextAnalyzer.AnalyzeScript(C1.Util.DX.DirectWrite.TextAnalysisSource,System.Int32,System.Int32,C1.Util.DX.DirectWrite.TextAnalysisSink)">AnalyzeScript(TextAnalysisSource, int, int, TextAnalysisSink)</h4>
<div class="markdown level1 summary"><p>Analyzes a text range for script boundaries, reading text attributes from the source and reporting the Unicode script ID to the sink  callback {{SetScript}}.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public void AnalyzeScript(TextAnalysisSource analysisSource, int textPosition, int textLength, TextAnalysisSink analysisSink)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Sub AnalyzeScript(analysisSource As TextAnalysisSource, textPosition As Integer, textLength As Integer, analysisSink As TextAnalysisSink)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.TextAnalysisSource.html">TextAnalysisSource</a></td>
      <td><span class="parametername">analysisSource</span></td>
      <td><p>A reference to the source object to analyze.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">textPosition</span></td>
      <td><p>The starting text position within the source object.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">textLength</span></td>
      <td><p>The text length to analyze.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.TextAnalysisSink.html">TextAnalysisSink</a></td>
      <td><span class="parametername">analysisSink</span></td>
      <td><p>A reference to the sink callback object that receives the text analysis.</p>
</td>
    </tr>
  </tbody>
</table>


<a id="C1_Util_DX_DirectWrite_TextAnalyzer_AnalyzeScript_" data-uid="C1.Util.DX.DirectWrite.TextAnalyzer.AnalyzeScript*"></a>
<h4 id="C1_Util_DX_DirectWrite_TextAnalyzer_AnalyzeScript_C1_Util_DX_DirectWrite_TextAnalysisQuickSource_System_Int32_System_Int32_C1_Util_DX_DirectWrite_TextAnalysisSink_" data-uid="C1.Util.DX.DirectWrite.TextAnalyzer.AnalyzeScript(C1.Util.DX.DirectWrite.TextAnalysisQuickSource,System.Int32,System.Int32,C1.Util.DX.DirectWrite.TextAnalysisSink)">AnalyzeScript(TextAnalysisQuickSource, int, int, TextAnalysisSink)</h4>
<div class="markdown level1 summary"><p>Analyzes a text range for script boundaries, reading text attributes from the source and reporting the Unicode script ID to the sink  callback {{SetScript}}.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public void AnalyzeScript(TextAnalysisQuickSource analysisSource, int textPosition, int textLength, TextAnalysisSink analysisSink)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Sub AnalyzeScript(analysisSource As TextAnalysisQuickSource, textPosition As Integer, textLength As Integer, analysisSink As TextAnalysisSink)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.TextAnalysisQuickSource.html">TextAnalysisQuickSource</a></td>
      <td><span class="parametername">analysisSource</span></td>
      <td><p>A reference to the source object to analyze.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">textPosition</span></td>
      <td><p>The starting text position within the source object.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">textLength</span></td>
      <td><p>The text length to analyze.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.Util.DX.DirectWrite.TextAnalysisSink.html">TextAnalysisSink</a></td>
      <td><span class="parametername">analysisSink</span></td>
      <td><p>A reference to the sink callback object that receives the text analysis.</p>
</td>
    </tr>
  </tbody>
</table>


<a id="C1_Util_DX_DirectWrite_TextAnalyzer_AnalyzeScript_" data-uid="C1.Util.DX.DirectWrite.TextAnalyzer.AnalyzeScript*"></a>
<h4 id="C1_Util_DX_DirectWrite_TextAnalyzer_AnalyzeScript_System_IntPtr_System_Int32_System_Int32_System_IntPtr_" data-uid="C1.Util.DX.DirectWrite.TextAnalyzer.AnalyzeScript(System.IntPtr,System.Int32,System.Int32,System.IntPtr)">AnalyzeScript(nint, int, int, nint)</h4>
<div class="markdown level1 summary"><p>HRESULT IDWriteTextAnalyzer::AnalyzeScript([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink)</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public void AnalyzeScript(nint analysisSource, int textPosition, int textLength, nint analysisSink)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Sub AnalyzeScript(analysisSource As IntPtr, textPosition As Integer, textLength As Integer, analysisSink As IntPtr)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">nint</a></td>
      <td><span class="parametername">analysisSource</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">textPosition</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">textLength</span></td>
      <td></td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">nint</a></td>
      <td><span class="parametername">analysisSink</span></td>
      <td></td>
    </tr>
  </tbody>
</table>
</div>
